< 由于我们的需求是在不断地变化的,所以呢,我希望这篇文章能够根据我的需求不断地写下去。
-
一般在文件保存退出以后,再次代开的时候,都会产生一个swp文件,然后vim会询问你这个swp文件已经存在,要不要编辑?这样真的好烦。为了避免这个问题,可以在vimrc里面设置一句话,就可以完全解决这个问题。但是你一定要注意,这样你将会失去备份文件,不可以大量使用,推荐用下面的方法。将备份文件放到另一个目录下面。
set noswapfile
-
Backups
如果你保持开着一个vim进程, 并且在其中更改了文件, vim会创建一个 "备份"(译注: 我想作者想说的是'swap'交换文件) 文件. 然后当你从另一个不同的vim会话中打开文件的时候, vim就会抱怨你在谋略编辑一个已经正在被编辑的文件. 此 '备份' 文件是通过在当前目录下的文件(名)后面追加一个 '~'符号来创建的. 这在你想要浏览器目录的同时会变得很烦, 所以我应用了以下的设置来移动备份文件到/tmp目录中.
set backup "make backup file
set backupdir=~/.vim/back "where to put backup files
set directory=~/.vim/tmp "directory to place swap file in
尽管这可能很惹人烦, 但总比丢失掉大量的已编辑但未保存的工作成果要好.如果你正常退出以后,swap文件将会自动删除,而不会占用其内存空间。所以这个设置真的是防止文件丢失的好方法,推荐大家使用。
-
Colors
colorscheme badwolf
设置颜色
-
语法高亮
syntax enable " enable syntax processing.
另外, 许多 vim 中的设置既有长名又有短名. 例如 background 和 bg 是一样的. 为了此后的可读性, 我强烈建议使用长名.
-
Spaces & Tabs.
set tabstop=4 " number of visual spaces per TAB
tabstop 就是视觉上显示的一个
set softtabstop=4 " number of spaces in tab when editing
编辑时一个
set expandtab " tabs are spaces
expandtab 会将 tap键转换为多个空格. 仅此而已. 所以 tap键仅仅成为了 "插入4个空格" 的快捷键.
-
UI Config
set number " show line numbers
显示行号, 不解释.
set showcmd " show command in bottom bar
showcmd 显示在最右下角展示最近输入的命令.
set cursorline " highlight current line
cursorline 会突出显示(或加下划线, 取决于你的本色方案)你的光标当前所在水平行. 我发觉当你 vim 的多个窗口来回切换或离开 vim 后再切换回来, 这样更容易找到离开时那一行.
-
自动补全
set wildmenu " visual autocomplete for command menu
这是一个相当酷的特性, 我以前都不知道Vim有它. 你知道 Vim 会自动补全类似文件名的东西, 如果你开启了 wildmenu, 你就可以循环遍历它们.
简而言之,就是在命令行,tab键能够补全列出所有的命令。
-
Searching
set incsearch " search as characters are entered set hlsearch " highlight matches set ignorecase map <F2><space> :nohlsearch
这些设置是自解释的. 它们使得搜索更棒.vim 从搜索开始直到你下一个搜索期间会保持高亮, 或者你可以手动停止旧有的搜索使用 :nohlsearch. 或者是入上面所述将F2键映射成这个命令。
-
解决兼容性问题
set nocompatible "去掉有关vi一致性的模式,兼容
解决一些兼容性问题
-
设置字体
set guifontset= set guifont=Consolas:h12
-
不设定在插入状态下无法用退格键和delete键删除回车符
set backspace=indent,eol,start
-
在vim窗口的左下角显示模式,没有显示时代表的是常规模式。
set showmode
-
现在 TAB 键显示为 ^I,而 $显示在每行的结尾,以便你能找到可能会被你忽略的空白字符在哪里。
这样做的一个缺点是在有很多 TAB 的时候看起来很丑。如果你使用一个有颜色的终端,或者使用 GUI 模式,Vim 可以用高亮显示空格和TAB。set list set listchars=tab:>-,trail:-
现在,TAB会被显示成 ">—" 而行尾多余的空白字符显示成 "-"。看起来好多了,是吧?
-
在此之后,如果在一行的开头输入空格或制表符,那么后续的新行将会缩进到相同的位置。
set autoindent
-
自动切换当前目录为当前文件所在的目录
set autochdir
-
设置行和列高亮,并设置高亮的颜色
set cursorcolumn hi cursorcolumn guibg=darkred set cursorline hi cursorline guibg=darkred
-
只编辑UTF-8的中文文件
set fileencodings=utf-8
-
键盘键的映射,将gb快捷键映射为:bd回车键。即新建一个vim窗口。
map gb :bd<CR>