首页 > 代码库 > linux文本编辑器-VIM基本使用方法

linux文本编辑器-VIM基本使用方法

  vim [OPTION]... FILE...

+/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首
vim + file 直接打开file,光标在最后一行

三种主要模式:

         命令模式:移动光标,剪切粘贴等

         插入模式:编辑,修改文本

         扩展模式:保存退出等

技术分享

模式转换:

         a       在光标后插入内容

         A       在光标所在行末尾插入内容

         i        从当前光标前插入内容

         I        在光标所在行行首插入内容

         o      在当前光标下插入空行

         O      在当前光标上插入空行

         插入模式-->命令模式   esc

         命令模式-->扩展模式   :、?、/

         扩展模式-->命令模式   esc

vim的打开与退出:

         vim file 若file存在则打开file,若file不存在则新建file

命令模式光标跳转:

         字间跳转:

                   h: 左 、 l: 右 、 j: 下 、 k: 上 (支持上下左右键)

         单词间跳转:

                   w :下一个单词的词首

                   e :当前或下一单词的词尾

                   b :当前或前一个单词的词首

         行内的跳转:

                   Home  ^       将光标跳转到本行的行首

                   End   $          将光标跳转到本行的行尾

                   0                          跳转到绝对行首

         行间的跳转: (#代表任意数字)

                   1G=gg      跳转到文件的首行

                   G                跳转到文件的尾行

                   #G             跳转到文件的#行(命令模式)

                   :#  跳转到文件的#行(末行模式)

    句间移动:

                   ) :下一句 ( :上一句

         段落间移动:

                   }: 下一段 {:上一段

         当前页跳转:

                   H:页首、 M:页中、 L:页低

         翻页移动:

                   PgDn  Ctrl+f 向下翻一页

                   PgUp  Ctrl+b 向上翻一页

扩展模式基本操作:

         :q      退出

         :q!   强制退出

         :w     保存

         :wq  保存退出 = ZZ = :x

         :X      加密

         :wq!   强制保存退出

         :! 命令    在vim中执行外面命令

         :e file        编辑file

         :w file       将当前文件另存为file

         :r file         读入file文件的内容

$1$yyzOv8eO$a0q8BUF80SGcJTy8hx0hy/


:r!openssl passwd -1     ##扩展模式使用外面命令生成加密字符串读入到文件中

命令模式字符编辑:

         x   删除光标处的字符;

         #x  删除光标处起始的# 个字符

         xp  交换光标所在处的字符及其后面字符的位置

         ~   转换大小写

         r   替换光标所在处的字符

    R  进入替换模式

         d   删除命令,可结合光标跳转字符,实现范围删除;

         d$  删除到行尾

         d^  删除到非空行首

         d0  删除到行首

         dd  删除光标所在行

         #dd 删除#行

    dG  删到尾行

    dgg 删到首行

         yy     复制当前光标所在行,(支持y$、y0、y^等)

         #yy   复制当前光标向下#行

         p       粘贴

         c      修改,(支持y$、y0、y^等)

         J        合并当前行和下一行

         u       取消最近一次的操作,能多次使用

         U      取消当前行所有的操作

         ctrl+r        对使用u命令撤销操作进行恢复

         .        重复前一个操作

         n.      重复前一个操作n次

扩展模式地址定界:

         :2,+3            表示2到5行

         :.                      点表示当前行

         :$                    表示最后一行

         :%                   表示全文,相当于1,$

         /p1,/p2              第一次被p1匹配到的行到第一次被p2匹配到的行

扩展模式字符串查找:

         /world      从上向下查找world

         ?world 从下向上查找world

         n       定位下一个匹配的字串

         N      定位上一个匹配的字串 

扩展模式字符串替换:

         :s/old/new                将当前行中查找到的第一个字符“old” 串替换为“new”

         :s/old/new/g             将当前行中查找到的所有字符串“old” 替换为“new”

         :#,#s/old/new/g        在行号“#,#”范围内替换所有的字符串“old”为“new”

         :%s/old/new/g           在整个文件范围内替换所有的字符串“old”为“new”

         :s/old/new/c            在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认

    :%s/^\s*//g    删除行首空格

    :g/^$/d      删除空行

    :5,10s/^/#/g   在5到10行行首插入#号注释 

可视话模式:

  允许选择的文本块,可代替鼠标。突出显示的文字可以被删除,复制,变更,过滤,搜索/替换等

    v面向字符

    V面向行
    ctrl-v 面向块

多文件模式:

         vim file1 file2 file3 ...

         :next  下一个

         :prev  前一个

         :first  第一个

         :last  最后一个

         :wall  保存所有

         :qall  退出所有

         :wqall

多文件窗口:

         vim -o file1 file2 ...

                   -o    水平分割

                   -O    垂直分割

         窗口间切换:ctrl+w

单文件窗口:

         Ctrl+w,s: split,  水平分割

         Ctrl+w,v: vertical,  垂直分割

         ctrl+w,q :取消相邻窗口

         ctrl+w,o: 取消全部窗口

         : wqall 退出

定制vim工作特性:

         配置文件:

                   全局:/etc/vimrc

                   个人:~/.vimrc

1、行号:

         永久修改:

                   在/root/.vimrc文件中添加

                            set nu

                            :set nonu 去掉行号

         临时显示行号:(扩展模式)

                   :set nu               显示行号

                   :set nonu 不显示行号

2、括号成对匹配:

         匹配:set sm

         取消:set nosm

3、自动缩进:

         启用:set ai

         禁用:set noai

4、高亮搜索:

         启用:set hlsearch

         禁用:set nohlsearch

5、语法高亮:

         启用:syntax on

         禁用:syntax off

6、忽略字符的大小写

         启用:set ic

         不忽略:set noic

7、文件格式:

         启用: fileformat=unix

         不忽略:  fileformat=dos

8、设置文本宽度

         :set textwidth=65 (vim only)

         :set wrapmargin=15

 vim的寄存器:

  有26个命名寄存器和1个无命名寄存器,常存放不同的剪贴版内容,可以不同会话间共享。

   有10个数字寄存器,用0,1,…,9表示,0存放最近复制内容,1存放最近删除内容。当新的文本变更和删除时,1转存到2,2转存到3,以此类推。数字寄存器不能在不同会话间共享。

 

linux文本编辑器-VIM基本使用方法