|
vim的命令批处理的一个小例子 对vim使用命令批处理:用-s [scirpt file] 选项. echo "oqwert^[:wq" > test.script vi -s test.script /root/dm.txt
vim以16进制方式编辑文件: :%!xxd
vim颜色太暗的解决方法: :colorscheme evening
vim退出后在屏幕上保留被编辑文件的内容: :set t_ti= t_te=
让vi一直显示当前行列值: :set ru
我的MacOSX上的vimrc文件 [1] Displaying line number [2] Syntax color [3] Auto indent when editing C/C++ source files [4] Remember and jump to the last cursor position when opening files. Thus you can find easily what you are viewing/editing last time
set nu syntax on filetype indent on autocmd BufReadPost * if line("'"") > 0 && line("'"") <= line("$") | exe "normal g'"" | endif
vim在屏幕行间移动 当文件的某些行比较长,超过屏幕宽度时,通常会折行,分成若干个屏幕行(screen line)。尤其是查看一些由程序生成的文件的时候比较常见。j和k键只能在文本行之间移动。需要在屏幕行间移动的时候要用gj和gk
用vim格式化代码 从别的编辑器里粘贴到vim里的代码经常由于不正常的缩进变得格式混乱。在vim的官方FAQ (http://vimdoc.sourceforge.net/cgi-bin/vimfaq2html3.pl)找到的: 格式化全文: gg=G 自动缩进当前行: ==
1. vi中设置tab键的空格数: :set ts=4(tab设置为4个) 将此句话加到当前用户目录的文件.vimrc中,这样当前用户用vi的时候就会启动该设置 2.拷贝: 将第2行到第9行的字copy到第11行 :2,9 co 10 将第2行到第9行的字move到第11行 :2,9 m 10 3.设置行号: :se nu 取消行号: :se nonu 4.当前行与下一行换位置:ddp 5.当前字与后面的字换位置:xp 6.光标向左移一个字符:h 光标向下移一个字符:j 光标向上移一个字符:k 光标向下移一个字符:l 光标移到下一行行首:+(加号) 光标移到上一行行首:-(减号) 光标移到行尾:$(shift+4) 光标向下移一个字符:j 光标移到屏幕的第一行:shift+h 光标移到屏幕的中间:shift+m 光标移到屏幕的最后一行:shift+l 向下移动一屏:ctrl+f (front) 向上移动一屏:ctrl+b (back) 移到文档的第一行:gg 移到文档的最后:shift+g 7.删除当前字符:x 删除当前单词:dw 删除从关标到行尾的字符:d$ 删除整行:dd 一般命令前加上一个数,则删除几个字、单词或行 删除从第3行到第8行::3,8d 8.替换当前一个字符:r 一直处于替换状态:shift+r 9.向后查找:? 向前查找:/ 继续上一次查找:n 与上一次查找方向相反:shift+n 匹配查找:/wei.op (.代表所有字母) 10.拷贝一个单词:yw 拷贝当前光标到行尾的字符:y$ 拷贝整行:yy 11.粘贴:p 粘贴到光标后:shift+p 12.恢复操作:u(象word中的ctrl+z) redo操作:ctrl+r(象word中的ctrl+y) 13.连接两行:J 14.{}()[]匹配: % 15.在右下角显示行和列及百分比的信息: :set ruler 16.区分大小写 :set ignorecase 不区分: :set noignorecase 17.精确匹配查找单词 如果你输入 "/the",你也可能找到 "there"。要找到以 "the" 结尾的单词,可以用: /the\> "\>" 是一个特殊的记号,表示只匹配单词末尾。类似地,"\<" 只匹配单词的开头。 这样,要匹配一个完整的单词 "the",只需:/\<the\> 这不会匹配 "there" 或者 "soothe"。注意 "*" 和 "#" 命令也使用了 "词首" 和 "词尾" 标记来匹配整个单词(要部分匹配,使用 "g*" 和 "g#")
|