1、VIM键盘图【转】
2、vi复制多行文本的方法
2.1 方法1:光标放到第6行,
输入:2yy 光标放到第9行, 输入:p 此方法适合复制少量行文本的情况,复制第6行(包括)下面的2行数据,放到第9行下面。
2.2 方法2:
命令行模式下输入 6,9 co 12 复制第6行到第9行之间的内容到第12行后面。
2.3 方法3:
有时候不想费劲看多少行或复制大量行时,可以使用标签来替代 光标移到起始行,输入ma 光标移到结束行,输入mb 光标移到粘贴行,输入mc 然后 :'a,'b co 'c 把 co 改成 m 就成剪切了 要删除多行的话,可以用 :5, 9 de
3、vim中执行shell命令,有以下几种形式
3.1 :!command
不退出vim,并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容 例如 :!ls -l 特别的可以运行:!bash来启动一个bash shell并执行命令,不需要退出vim
3.2 :r !command
将shell命令command的结果插入到当前行的下一行 例如 :r !date,读取系统时间并插入到当前行的下一行。
3.3 :起始行号,结束行号 !command
将起始行号和结束行号指定的范围中的内容输入到shell命令command处理,并将处理结果替换起始行号和结束行号指定的范围中的内容 例如 :62,72 !sort,将62行到72行的内容进行排序 可以只指定起始行,例如:62 !tr [a-z] [A-Z],将62行的小写字母转为大写字母 当前光标所在行,除可以指定行号外,也可以用.表示,例如:. !tr [a-z] [A-Z],将当前行的小写转为大写
3.4 :起始行号,结束行号 w !command
将起始行号和结束行号所指定的范围的内容作为命令command的输入。不会改变当前编辑的文件的内容 例如 :62,72 w !sort,将62行到72行的内容进行排序,但排序的结果并不会直接输出到当前编辑的文件中,而是显示在vim敲命令的区域 特殊的可以下面这么用 :62 w !bash,将会把第62行的内容作为bash命令来执行并显示结果,而且不会改变当前编辑的文件的内容 同样的:. w !bash,将当前行的内容作为bash命令来执行 例如52行内容为ls -l 那么输入:52 w !bash就跟执行!ls -l是一样的效果,如果你用的shell是bash shell 如果输入的是:52 !bash,那么会把第52行的内容也就是ls -l作为命令执行,同时命令的输出结果会替换第52行的内容,注意其中的区别.
4、多行注释
4.1 多行注释:
1. 进入命令行模式,按ctrl + v进入 visual block模式,然后按j, 或者k选中多行,把需要注释的行标记起来 2. 按大写字母I,再插入注释符,例如// 3. 按esc键就会全部注释了
4.2 取消多行注释:
1. 进入命令行模式,按ctrl + v进入 visual block模式,按字母l横向选中列的个数,例如 // 需要选中2列 2. 按字母j,或者k选中注释符号 3. 按d键就可全部取消注释