vi常用命令与设置(不断修改中)

时间:2023-12-20 19:24:02

注:前缀':'表示vim命令(命令模式),前缀'$'表示为shell命令,
表示Ctrl + W,表示Ctrl + Shift+ 6,无前缀者
均为普通模式下的键盘按键。
基本的插入与修改:
        a       光标下一个字符处插入;
        i       在当前光标处插入;
        A       行尾插入;
        o       在光标下新建一行插入;
        r       键入替换一个字符;
        R       键入替换所有字符;
        `.      光标定位到上一次修改处;
        u       Undo
           Redo
        :e!     撤销所有修改。
        
文件查找与替换:
        *, #            向前/后查找相同单词(如果打开set hlsearch,
                        则自动高亮所有匹配单词)
        [[               
        /dest           按n查找下一个;N查找上一个;
        ?dest           反向查找;
        :#,#s/old/new/g 把几行之间的old全部替换成new
        :%s/old/new/g   整个文件全局替换,old -> new;
        :s/old/new      只替换下一个匹配的字符串
        :s/old/new/g    替换一行的 old -> new;
文件光标定位:
        %               括号配对
        ctrl + g        显示当前行号
        linenum + G     跳至某行
        G               跳至末行
        H               跳至首行
        ^               跳至行首
        $               跳至行尾
        fx Fx           移动到下一个/上一个x开头的单词
        [[              跳至上一个在第一列的{ (一般是函数的开头)
        ]]              跳至下一个在第一列的{
        {               跳至上一个空行
        }               跳至下一个空行
        gd              光标定位在某个局部变量上时,跳到它的定义处;
        使用cscope时,在源文件顶层运行
        $cscope-indexer 生成cscope的tags, 然后使用查找各种数据类型的定义,再使用
                        回到光标原来的位置.
shell:
        :!cmdname       临时使用shell命令cmdname
        :sh             暂时回到shell(exit回到vim编辑界面)
多文件操作:
        $ vi file1 file2        一次性读入多个文件(支持shell的所有通配符)
        :sp file                从一个新的水平分割窗口中打开文件file
        :vd file                从一个新的垂直分隔窗口中打开文件file
        :n、:N                  当前窗口进行文件间切换
                        当前窗口在两个文件之间切换
        :Sex                    在新的分割窗口中打开目录流览器
        :ls                     列出当前在编辑的文件
        :b x                    当前窗口跳到第x个文件buffer(:ls列出序号)
        :b file                 当前窗口跳到下一个文件名包含"file"的文件buffer
        +             多窗口中快速切换(ctrl + w两次)
其它:  
                      插入模式中,用于语法的单词/结构自动补全
常用设置:
        $ cp /usr/share/vim/vim70/vimrc_example.vim ~/.vimrc      
        以上是一个基本设置
        :set hlsearch   高亮显示/与?命令查找结果;
        :set num        显示每行行号
        Fterm登录时如果要使用vi的语法彩色,需要把termtype设置为
        xterm-color,或者$ export TERM=xterm-color应该也可以……

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/24174/showart_175131.html