配置文件地址为/etc/vimrc
或者可以在Home文件夹下自建.vimrc
set number
显示行号
set autoindent
换行后自动缩进
set smartindent
输入花括号换行后自动缩进
set tabstop=4
Tab键位4个空格
set shiftwidth=4
自动缩进的值为4个空格
set expandtab
只用空格代替Tab。(这个功能对Python或者Haskell这种对缩进和空格很敏感的编程语言很重要。)
Alternatively, you can copy the following content into your .vimrc file.
"--------------------------------------------------------------------------
" Features
"--------------------------------------------------------------------------
" use vim settings, rather than vi settings
set nocompatible
" enable syntax highlighting
syntax on
" colour scheme
colorscheme koehler
" allows switching from unsaved buffers without saving first
set hidden
" tab autocompletion in the command space
set wildchar=<TAB>
set wildmenu
set wildmode=longest,full
" filetype specific commands
filetype indent plugin on
autocmd FileType make :set noexpandtab
autocmd FileType c :set cindent
autocmd FileType tex :set spell
autocmd FileType html :set textwidth=0 shiftwidth=2 softtabstop=2
autocmd BufNewFile,BufReadPost *.log :set filetype=messages
" abbreviations for convenience
iab #i #include
iab #d #define
iab perr fprintf(stderr, "%s:%d:\n", __FILE__, __LINE__);<ESC>23ha
"--------------------------------------------------------------------------
" Usability options
"--------------------------------------------------------------------------
" allow backspacing over autoindent, line breaks and start of insert action
set backspace=indent,eol,start
" number of lines remembered in the command line history
set history=50
" show matching bracket briefly after one is inserted
set showmatch
" stop certain movements from always going to the first character of a line
set nostartofline
" enable the use of mouse for all modes
"set mouse=a
set mouse=r
" display the name of the file currently being edited in the title
set title
" display line numbers
set number
" shows line/column information for the current cursor position
set ruler
" shows partial commands in the last line of the screen
set showcmd
" always display the status line, even if only one window is displayed
set laststatus=2
" set the command window height to 2 lines
"set cmdheight=2
set cmdheight=1
" use visual bell instead of beeping when doing something wrong
set visualbell
" if visual bell is set, vim will neither flash nor beep
set t_vb=
" highlights searches
set hlsearch
" use case insensitive search, except when using capital letters
set ignorecase
set smartcase
" set incremental searching
set incsearch
"--------------------------------------------------------------------------
" Indentation, wrapping and folding
"--------------------------------------------------------------------------
" indentation settings for 4 spaces instead of tabs
set shiftwidth=4
set softtabstop=4
set expandtab
" indentation settings for using hard tabs as indent
"set shiftwidth=4
"set tabstop=4
" keep the same indenting as the previous line when starting a new line
set autoindent
" round indents off to shiftwidth
set shiftround
" turn off text wrapping
set nowrap
" mark lines with a character that exceed 80 characters
set listchars+=extends:+
" maximum allowable line length
set textwidth=79
" code folding
set foldmethod=syntax
set foldlevelstart=99
"--------------------------------------------------------------------------
" Mappings
"--------------------------------------------------------------------------
" map Y to act like D and C, i.e. to yank until EOL, rather than act as yy
map Y y$
" map <C-L> (redraw screen) to also turn off search highlighting until the
" next search
nnoremap <C-L> :nohl<CR><C-L>
" map <F2> to open .vimrc config file
map <F2> :e ~/.vimrc<CR>
"map <F2> :e ~/_vimrc<CR>
" map <F3> to do a printed word count for a tex document
map <F3> :w !untex -e -o - \| wc -w<CR>
" map <F4> to 'make' (skips output)
map <F4> :make<CR><CR><CR>
" map <F5> to 'make'
map <F5> :make<CR>
" use <F11> to toggle between auto-indenting for code paste
nnoremap <F11> :set invpaste paste?<CR>
set pastetoggle=<F11>
set showmode
" map '\w' to toggle line wrapping
noremap <silent> <Leader>w :call ToggleWrap()<CR>
function ToggleWrap()
if &wrap
echo "Wrap OFF"
setlocal nowrap
set virtualedit=all
set textwidth=79
silent! nunmap <buffer> <Up>
silent! nunmap <buffer> <Down>
silent! nunmap <buffer> <Home>
silent! nunmap <buffer> <End>
silent! iunmap <buffer> <Up>
silent! iunmap <buffer> <Down>
silent! iunmap <buffer> <Home>
silent! iunmap <buffer> <End>
else
echo "Wrap ON"
setlocal wrap linebreak nolist
set virtualedit=
set textwidth=0
setlocal display+=lastline
noremap <buffer> <silent> <Up> gk
noremap <buffer> <silent> <Down> gj
noremap <buffer> <silent> <Home> g<Home>
noremap <buffer> <silent> <End> g<End>
inoremap <buffer> <silent> <Up> <C-o>gk
inoremap <buffer> <silent> <Down> <C-o>gj
inoremap <buffer> <silent> <Home> <C-o>g<Home>
inoremap <buffer> <silent> <End> <C-o>g<End>
" override normal J, K, 0, $
noremap <buffer> <silent> k gk
noremap <buffer> <silent> j gj
noremap <buffer> <silent> 0 g0
noremap <buffer> <silent> $ g$
endif
endfunction
"--------------------------------------------------------------------------
" Other options
"--------------------------------------------------------------------------
" mintty specific cursors when in normal and insert mode
"let &t_ti.="\e[1 q"
"let &t_SI.="\e[5 q"
"let &t_EI.="\e[1 q"
"let &t_te.="\e[0 q"
" gvim specific options
"colorscheme desert
"set imdisable
"set guifont=Consolas:h11:cANSI
"autocmd GUIEnter * set visualbell t_vb=
"set lines=45 columns=85
"set directory=.,$TEMP
"set clipboard=unnamed
分享到:
相关推荐
我自己的vim配置文件,包括常用的代码不全,git提示,nerdtree,taglist等。 复制到根目录下重命名为.vimrc
"vim常用插件配置文件"这个主题正是围绕如何优化Vim的使用体验,通过安装和配置一系列插件来提升开发效率。 1. **NERDTree**: 这是Vim的一个文件管理器插件,它在左侧提供了一个树形视图,让用户可以方便地浏览和...
掌握Vim的基础命令能够极大地提高文本编辑效率,以下是对标题和描述中提及的Vim常用编辑命令的详细解析。 #### 光标移动命令 - **h 或 左箭头键**:使光标向左移动一个字符。 - **j 或 下箭头键**:使光标向下移动...
**Vim常用插件配置详解** 在编程世界中,Vim作为一个强大的文本编辑器,以其高效的操作和高度可定制性赢得了众多程序员的喜爱。为了提升Vim的使用体验和工作效率,许多开发者选择安装并配置各种插件。本篇将详细...
### vim 常用快捷键知识点 #### 一、引言 Vim 是一款功能强大的文本编辑器,广泛应用于各种操作系统之中,特别是 Linux 和 Unix 平台。它源自 vi 编辑器,但添加了许多增强功能,使得它更加高效且易于定制。本文将...
标题提及的“vim常用插件集合”是一组能够增强Vim功能的扩展,这些插件包括ctags、TagList、minibuffer、winmanager以及可能未详述的"a"插件。以下是对这些插件的详细说明: 1. **ctags**:这是一个源代码导航工具...
### vim常用命令总结 #### 一、概述 `vim`是一款功能强大的文本编辑器,在Linux环境中广泛使用。本文档旨在总结`vim`编辑器中常用的命令,这些命令可以帮助用户高效地进行文本编辑工作。总结包括查找命令、修改...
### VIM常用命令详解 #### 一、简介 VIM(Vi IMproved)是一款功能强大的文本编辑器,它基于原始的vi编辑器进行了大量的改进和扩展。VIM因其高效的文本编辑能力和广泛的系统兼容性,在程序员和技术人员中非常受欢迎...
vimrc文件是Vim编辑器的配置文件,它定义了用户自定义的快捷键、行为设置以及各种偏好。通过定制vimrc,我们可以使Vim更加符合个人的工作习惯,提高编程效率。下面将详细介绍标题和描述中提到的一些常见vimrc设置...
以下是一些关于Vim常用快捷键、配置和插件的详细说明: 1. **Vim中的Tab操作**:在Vim中,Tab键可以用于缩进代码,但也可以通过配置实现其他功能。例如,你可以设置`map <Tab> >i`使得在插入模式下按下Tab键进行...
### Vim常用命令详解 #### 一、模式切换 Vim具备三种主要的工作模式:命令模式(Command mode)、插入模式(Insert mode)以及可视模式(Visual mode)。掌握这些模式之间的切换是高效使用Vim的基础。 - **切换到插入...
本压缩包包含了一些Vim常用的插件,用于提升代码编辑体验。 首先,`omnicppcomplete`是一个针对C++编程的代码自动补全插件。它能够提供智能感知,根据上下文提供可能的函数、类和变量名,极大地提高了编码效率。...
本压缩包"VIM常用插件安装包"就是为了帮助用户快速提升VIM的使用体验,通过将这些插件解压到你的`vimfiles`目录下,即可享受到这些插件带来的便利。 首先,了解`vimfiles`目录。在Windows系统中,这个目录通常位于`...
本资源提供的"vim常用插件及vimrc"正是为了帮助用户优化Vim的使用体验,提高编程效率。 首先,我们需要了解vimrc文件。vimrc是Vim的配置文件,它存储了用户的个性化设置,如快捷键绑定、颜色方案、自动完成设置等。...
下面将详细介绍 Vim 的基本配置以及一些常用插件,帮助你提高编程效率。 **一、.vimrc配置** `.vimrc`文件是Vim的配置文件,通常位于用户的家目录下(Linux/macOS: `~/.vimrc`, Windows: `%USERPROFILE%/_vimrc`或...
本篇将详细介绍标题为"vim常用插件集合"的相关知识点,包括`supertab-0.32.tar.bz2`、`taglist_45.zip`、`ctags-5.8.tar.gz`和`cscope-15.7a.tar.bz2`这四个压缩包中的插件。 1. **Supertab**: Supertab是一款Vim...
- 安装ctags并配置Vim使其自动更新和使用标签库,可以在`.vimrc`中添加相关设置。 2. **cscope**: - cscope是一个更加强大的代码浏览器,除了提供类似ctags的跳转功能外,还能进行复杂的查询,比如全局定义、...
以下是一些Vim常用命令的详细说明: 1. **移动光标**: - `k`: 向上移动一行,`nk`则向上移动n行。 - `j`: 向下移动一行,`nj`则向下移动n行。 - `h`: 向左移动一列,`nh`则向左移动n列。 - `l`: 向右移动一列...