[分享] Vim小技巧几则
一、中文帮助手册页
Vim7.2中文手册页下载:官方地址 我的Dropbox存档
内有详细的使用帮助和说明,默认vim会自动根据系统的当前locale选择显示语言。
如果要强制使用英文手册页,可以:set helplang=en,或切换中文手册页:set helplang=cn
二、启用拼写检查
:set spell或者:setlocal spell spelllang=en_us
它打开 ‘spell’ 选项并指定检查美国英语。
注意:Vim只检查单词的拼写,不做语法检查。
要搜索下一个拼写有问题的单词:
*]s*
]s 移动到光标之后下一个拼写有问题的单词。命令前的计数可以
用来重复。适用 ‘wrapscan’。
*[s*
[s 类似于 "]s” 但反向搜索。寻找光标之前拼写有问题的单词。
不能识别分散在两行的单词,因而可能停在不被高亮为坏词的
单词上。但不会停在行首没有大写开头的单词上。
*]S*
]S 类似于 “]s” 但只检查坏词,不检查偏僻词或其它区域的词。
*[S*
[S 类似于 "]S” 但反向搜索。
要加入词汇到自定义的单词列表:
*zg*
zg 把光标所在的单词作为一个好 (good) 词加入到 ‘spellfile’
的第一个名字对应的文件。命令前加上计数指示使用
‘spellfile’ 的第几个项目。计数 2 使用第二个项目。
可视模式下把选择的字符序列作为一个单词 (包括空白!)。
如果光标在标为坏词的文本上,使用标注的文本。
否则使用非单词字符分隔的光标所在的单词。
如果该单词在其它拼写文件里被显式标注为坏词,结果无法预
测。
详情继续:help spell,以上内容节选自vim的中文帮助手册页。
三、在vim中快速查字典(Linux only)
该功能需要使用到命令行版的stardict,请安装sdvc
ubuntu用户使用apt-get即可迅速安装sdvc
$ sudo apt-get install sdvc
至此,准备工作结束。
下面开始编辑vim的配置文件在vim中光标移动到单词上,使用shift+f可以新分割出来一个窗口显示单词的翻译。
复制粘贴以下内容到~/.vimrc
———————– 我是分割线开始,不要复制我 ———————————
” 使用F查询光标所在处的单词的中文
function! Mydict()
let expl=system(‘sdcv -n ‘ .
\ expand(“<cword>”))
windo if
\ expand(“%”)==”diCt-tmp” |
\ q!|endif
50vsp diCt-tmp
setlocal buftype=nofile bufhidden=hide noswapfile
1s/^/\=expl/
1
endfunction
nmap F :call Mydict()<cr><C-W><C-W>
———————– 我是分割线结束,不要复制我 ———————————
如果在gvim中使用则在~/.gvimrc中添加:
———————– 我是分割线开始,不要复制我 ———————————
function Mybln()
let expl=system(‘sdcv -n ‘ .
\ v:beval_text .
\ ‘|fmt -cstw 40′)
return expl
endfunction
set bexpr=Mybln()
set beval
———————– 我是分割线结束,不要复制我 ———————————
四、在长行中轻松移动
编辑.vimrc,加入以下内容:
———————– 我是分割线开始,不要复制我 ———————————
” 解决超长行移动的困难
” 重新定义<UP> <DOWN>
:nmap <UP> gk
:imap <UP> <ESC>gka
:nmap <DOWN> gj
:imap <DOWN> <ESC>gja
———————– 我是分割线结束,不要复制我 ———————————
以后就可以通过键盘的上、下方向键轻松在一个超长行中移动了。
五、不要显示@@@@@
编辑.vimrc,加入以下内容:
———————– 我是分割线开始,不要复制我 ———————————
set display=lastline
———————– 我是分割线结束,不要复制我 ———————————
后记:Chrome编辑水木blog会导致文章的排版中的回车全部丢失,汗死。。。