前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux文本编辑器-VIM基本使用方法

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

作者头像
yuezhimi
发布2020-09-30 11:20:49
9120
发布2020-09-30 11:20:49
举报
文章被收录于专栏:yuezhimiyuezhimi

  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文件的内容

代码语言:javascript
复制
$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,以此类推。数字寄存器不能在不同会话间共享。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-05-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • vim的打开与退出:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档