天天看点

vim文字处理器

linux 下的vi 是一种文字编辑器,后来的升级版本是vim。vi 分为三种模式:一般模式、编辑模式、命令命令模式。它们之间的关系如下:

vim文字处理器

下面分类别解析命令:

vim文字处理器
vim文字处理器

                                                          ``(注意是~那个键) 返回到光标刚才的位置

                    

                                                          Ctrl + f 往下翻页(forward)

                                                          Ctrl + b 往上翻页(backward)

                        n|            移动到本行的第n列

vim文字处理器
vim文字处理器
vim文字处理器

                                                                     补充:删除包含某一字符的所有行::g/text/d

vim文字处理器
vim文字处理器
vim文字处理器

    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——全选选中

注释:ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入注释符,比如"//",再按Esc,就会全部注释了。

删除:先按v,进入visual模式,横向选中列的个数(如"/ /"注释符号,需要选中两列),再按Esc,再按ctrl+v 进入列编辑模式,向下或向上移动光标,选中注释部分,然后按d, 就会删除注释符号。

5. 编程时自动补全成员

vim的附加功能

1.块选择

vim文字处理器

   注:方向仍然是由hjkl(或上下左右箭头)控制

2.多文件切换

用vim  file1 file2 file3.......可以同时打开很多文件。通过切换文件可以实现多文件之间的复制、粘贴、删除等。

vim文字处理器

3.多窗口功能

更炫的功能,同时显示两个窗口于一个界面上。

vim文字处理器

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

本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/archive/2013/03/19/2970160.html,如需转载请自行联系原作者