vim文字处理器
linux 下的vi 是一种文字编辑器,后来的升级版本是vim。vi 分为三种模式:一般模式、编辑模式、命令命令模式。它们之间的关系如下:
下面分类别解析命令:
``(注意是~那个键) 返回到光标刚才的位置
Ctrl + f 往下翻页(forward)
Ctrl + b 往上翻页(backward)
n| 移动到本行的第n列
补充:删除包含某一字符的所有行::g/text/d
光标定位参考这篇文章:http://blog.csdn.net/yangzhongxuan/article/details/6542808
vim是vi的升级版本。它是完全基于vi的。但是突出两个功能:具有颜色显示功能和支持许多程序语法。因此一种说法是:vi是文字处理器,而vim是程序开发工具。当使用vim编辑程序(不仅是c语言)时,可以直接进行“程序调试(debug)”
一些常用命令案例:
1.删除指定的某些行
命令:(命令行命令模式)m,nd
释义:m是从第m行开始;n是从第n行开始;d是删除操作。之后回车即可。
例子:删除m到n之间的行数
step1:(命令行命令模式):m,nd——输入从第m行到当前位置的删除命令
step2:(命令行命令模式)回车——执行删除命令
2.复制指定的某些行
命令:(命令行命令模式):m,ny
释义:m是从第m行开始;n是从第n行开始;y是删除操作。之后回车即可。
例子:复制m到n之间的行数
step1:(命令行命令模式):m,ny——输入从第m行到当前位置的删除命令
step2:(命令行命令模式)回车——执行复制命令
3.选中指定的某些行
命令:(一般模式)mGVnG
释义:mG是从第m行开始;nG是直到第n行;V是进入可视模式。之后可以进行复制(y)、删除(d)操作。
例子1:选中m到n之间的行数
step1:(一般模式):mGVnG——输入从第m行到第n行选中
例子2:全选
step1:(一般模式):ggVG——全选选中
4. vim多行注释/删除注释
注释:ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入注释符,比如"//",再按Esc,就会全部注释了。
删除:先按v,进入visual模式,横向选中列的个数(如"/ /"注释符号,需要选中两列),再按Esc,再按ctrl+v 进入列编辑模式,向下或向上移动光标,选中注释部分,然后按d, 就会删除注释符号。
5. 编程时自动补全成员
CTRL+N/P,n是向下找,p是向前找
vim的附加功能
1.块选择
注:方向仍然是由hjkl(或上下左右箭头)控制
2.多文件切换
用vim file1 file2 file3.......可以同时打开很多文件。通过切换文件可以实现多文件之间的复制、粘贴、删除等。
3.多窗口功能
更炫的功能,同时显示两个窗口于一个界面上。
vim -o file1 file2 file3 水平打开多个窗口
vim -O file1 file2 file3 垂直打开多个窗口
vim -d file1 file2 垂直打开多个窗口,并且进行比较
qall quit all,关闭所有打开的窗口,如果有一个修改了没保存,会提示,不会保存
qall! 强制关闭所有,不进行保存
wall 所有文件写入
4. 大小写转换
gu或者gU: 小u意味着转为小写; 大U意味着转为大写
guw 光标到词尾,大写转换成小写
gUw 光标到词尾,小写转换成大写
gUG 从光标所在位置到文章最后一个字符,都变为大写
gUgg 从光标所在位置到文章第一个字符,都变为大写
3gU 光标所在行到往下3行都变小写
ggguG 整篇文章大写转化为小写
gggUG 整篇文章小写转化为大写
附加常用小操作
1. 还原 u, 最新 ctr + r
2. 统计打开的文本中字符串"hello"的个数::%s/hello//gn 等价于 :1,$s/hello//gn (%表示所有,等价于1,$)
3. 显示隐藏字符 :set invlist
关闭显示隐藏字符 :set nolist
4.选中文本大小写转换
- U 将可视模式下选择的字母全改成大写字母
- u 将可视模式下选择的字母全改成小写
5. 删除包含某个字符的行
:g/del_string/d
6. 多个空格(>1)替换空
:%s/\s\s\+/,/g