Vim使用笔记

来源:互联网 发布:软件行业利润率排名 编辑:程序博客网 时间:2024/06/05 07:24

vim配置文件:

普通用户:~/.vimrc
root:/root/.vimrc

hi Comment ctermfg =green                      //注释颜色hi String ctermfg =darkred                         //修改字符串颜色hi Type ctermfg =yellow                             //修改类型颜色hi Number ctermfg =darkblue                    //修改数字颜色hi Constant ctermfg =blue                         //修改常量颜色hi Statement ctermfg =darkyellow            //修改声明颜色(hi也可用highlight)

vim插件

1.wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x2.YCMhttp://www.alexeyshmalko.com/2014/youcompleteme-ultimate-autocomplete-plugin-for-vim/

vim常用命令

增删改插:A:在行末插入字符a:在光标后插入字符i:在光标前插入字符I:在行首插入字符r{char}:替换光标处字符为字符charcw/ce:替换光标所在处到该单词结尾的字符o:在下一行新增一行输入字符O:在上一行新增一行输入字符x:删除光标处字符X:删除光标处前一个字符字符串相关::/word      //向下查找word字符串:?word      //向上查找word字符串:%s /abc  /efg /g               //将所有abc字符串替换为efg字符串文件操作::e <path/to/file>   //打开文件:wq/:x/ZZ           //保存并退出文件:q!         //强制退出不保存文件:qa!            //强制退出所以正在编辑的文件:saveas <path/to/file>  //另存为文件多文件操作:vim file1 file2 ... filen       //打开所有想要打开的文件:e file     //再打开一个文件,并且此时vim里会显示出file文件的内容:split         //水平切分窗口:vsplit     //垂直切分窗口:bn         //下一个文件:bp         //上一个文件:ls         //列出打开的文件,带编号:b1~n      //切换至第n个文件<C-6>       //两文件间的切换<C-w><dir>  //切换到前/下/上/后一个窗格<C-w>h/j/k/l    //同上<C-w>w      //依次向后切换到下一个窗格中<C-w>_      //最大化窗口尺寸<C-v>+/-    //增加/减小窗口尺寸

鼠标位置移动:

行内移动:0:移动到行首^:移动到本行第一个非blank字符$:移动到行尾g_:移动到行尾最后一个非blank字符[n]h:相对当前位置向左移动n个字符[n]l:相对当前位置向右移动n个字符[n]fa:跳到相对想在位置向右的第n个字符为a的地方[n]ta:跳到相对想在位置向右的第n个字符为a的前一个字符处页内移动:[n]j:相对当前位置向下移动到n[n]k:相对当前位置向上移动到n[n]gg:跳到第n[n]G:跳到第n行,G为跳到页末[n]e:跳到相对想在位置向右的第n个单词的最后一个字符[n]w:跳到相对想在位置向右的第n个单词的第一个字符%:匹配括号移动[n]*:匹配光标当前所在的单词,向下移动光标到第n个匹配单词[n]#:匹配光标当前所在的单词,向上移动光标到第n个匹配单词

选中括号中的内容

在可视模式下(<ctrl-v>/v)<ctrl-v>/vi{ 选中{}中间的内容,不包括{}<ctrl-v>/va{ 选中{}中间内容,包括{}<ctrl-v>/vi( 选中()中间内容<ctrl-v>/vi< 选中<>中间内容<ctrl-v>/vi[ 选中[]中间内容<ctrl-v>/vit 选中中间的内容<ctrl-v>/vi” 选中”"中间内容<ctrl-v>/vi’ 选中”中间的内容<ctrl-v>/vis 选中一个句子<ctrl-v>/vib 选中一个block<ctrl-v>/viw选中一个单词<ctrl-v>/vip 选中一个段落

快捷操作

1.多字符操作:<start position><command><end position>例:0y$:将本行第一个到最后一个字符复制下来0gU$:将本好第一个到最后一个字符变为大写0gu$:将本好第一个到最后一个字符变为小写2.区域选择:<action>a<object><action>i<object>例:假设你有一个字符串 (map (+) ("foo")).而光标键在第一个 o 的位置。(借用陈皓的例子,我也曾经学习他的《VIM简明教程》和《跟我一起写makefile》,很赞的牛人,这是他的博客,http://coolshell.cn,有时间就去溜溜呗!)vi":选择""之间的foo,不包括""va":选择""之间的foo,包括""vi):会选择 "foo"va):会选择("foo")v2i):会选择 map (+) ("foo")v2a):会选择 (map (+) ("foo"))3.块操作:[0/^]<C-v><dir><operation><ESC>例:选择3行代码块的每行末尾添加字符串"feison"0<C-v>2j$Afeison<ESC>选择3行代码块的每行行首插入字符串"--"0<C-v>2jI--<ESC>注:特殊<operation>    1.>向右缩进    2.<向左缩进    3.=自动缩进    4.J把所有行连接成一行4.宏录制:qa <operation list> q @a/[n]@@qa:开启宏录制并将操作记录到寄存器a<operation list>:操作序列q:退出宏录制@a:按录制的宏a操作一次例:qypq:复制当前行并粘贴@a:执行该动作一次10@@:执行该动作10次5.自动提示:<C-n>/<C-p>6.执行外部shell命令::!<cmd>7.自增自减:<C-a>:自加1num+<C-a>:自加num<C-x>:自减1num+<C-x>:自减num

寄存器操作

1.官方帮助手册:h registers2.寄存器分类2.1.无名(unnamed)寄存器:"",缓存最后一次操作内容;2.2.数字(numbered)寄存器:"0 ~ "9,缓存最近操作内容,复制与删除有别, "0寄存器缓存最近一次复制的内容,"1-"9缓存最近9次删除内容2.3.行内删除(small delete)寄存器:"-,缓存行内删除内容;2.4.具名(named)寄存器:"a ~ "z或"A - "0Z,指定时可用;2.5.只读(read-only)寄存器:":, "., "%, "#,分别缓存最近命令、最近插入文本、当前文件名、当前交替文件名;2.6.表达式(expression)寄存器:"=,只读,用于执行表达式命令;2.7.选择及拖拽(selection and drop)寄存器:"*, "+, "~,存取GUI选择文本,可用于与外部应用交互,使用前提为系统剪切板(clipboard)可用;2.8.黑洞(black hole)寄存器:"_,不缓存操作内容(干净删除);2.9.模式寄存器(last search pattern):"/,缓存最近的搜索模式。3.查看寄存器内容:reg         查看所有寄存器内容:reg 寄存器名  查看单个寄存器内容4.寄存器操作:normal模式下,"<reg>[y/p]表示复制内容到寄存器,粘贴寄存器内容指定位置从vim内容与外部内容之间的拷贝:"+y(+寄存器是外部和vim通用寄存器)

在无clipboard的vim使用系统剪切板

clipboard的vim使用场景很多,最常见的就是ssh+vim,这是使用系统剪切板的方法有两种:1.shift+左键选择;2.关闭鼠标支持set mouse=a 选项;

gvim使用

关闭windows下的预设mapping::e $MYVIMRC<enter> //或直接编辑_vimrc文件set nocompatiblesource $VIMRUNTIME/vimrc_example.vim"source $VIMRUNTIME/mswin.vim "注释这两行"behave mswin

vim常用命令示意图

这里写图片描述

0 0
原创粉丝点击