0
点赞
收藏
分享

微信扫一扫

vim文本编辑器,我们容易忽视的小技巧

柠檬果然酸 2022-04-01 阅读 41
linux

     vim和vi它们都是多模式编辑器,在客户的某些环境上如果是最小化安装只会有vi。不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面,vim里面有三种模式,分别为命令模式、扩展模式、插入模式,下面会详细介绍些。

vi: Visual Interface,可视化文本编辑器

  从终端打开的文件的选项

 vim [OPTION]... FILE... 

        +# 打开文件后,让光标处于第#行的行首,+默认行尾      例如,vim 1.txt +3

        +/PATTERN 让光标处于第一个被PATTERN匹配到的行的行首

         –b file 二进制方式打开文件 

         –d file1 file2…  比较多个文件  这个用的比较多

         -m file  只读打开文件

如果该文件存在,文件被打开并显示内容    

如果该文件不存在,当编辑后第一次存盘时创建它

进入vim编辑器模式切换的选项

几种能提高工作效率的快捷键

命令模式: l  光标向右    k 光标向上   j 光标向下  h 光标向左     数字+l/k/j/h 想移动的位置

                  A  光标跑到本行最后,并且进入插入模式

                  I (大写)光标跑到本行最前,并且进去插入模式

                  O 进去本行的上面一行,并且进入插入模式模式

                  单词间跳转: 

                  w:下一个单词的词首 

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

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

                  当前页跳转: 

                  H:页首     M:页中间行     L:页底

                  zt:将光标所在当前行移到屏幕顶端 

                  zz:将光标所在当前行移到屏幕中间 

                  zb:将光标所在当前行移到屏幕底端

                  行首行尾跳转:

                  ^ 跳转至行首的第一个非空白字符 

                  0 跳转至行首 

                  $ 跳转至行尾 

                  行间移动: 

                   #G 或者扩展命令模式下:#   跳转至由第#行 

                   G   最后一行 

                  1G, gg 第一行 

                   句间移动:

                    )  下一句 (  上一句 

                   段落间移动: 

                   }  下一段 {  上一段

     

                  Ctrl+f 向文件尾部翻一屏 

                  Ctrl+b 向文件首部翻一屏 

                  Ctrl+d 向文件尾部翻半屏 

                  Ctrl+u 向文件首部翻半屏

           

                 撤销修改

                  u     撤销最近的更改

                  #u   撤销之前多次更改

                  U  撤消光标落在这行后所有此行的更改

                   .  重复前一个操作 

                  #. 重复前一个操作#次

扩展模式:  r     filename   读文件内容到当前文件中 

                   w   filename    将当前文件内容写入另一个文件

                   !command      不退出vim情况下,执行命令

                   r!command  不会出 vim 情况下,读入命令的输出

插入模式: a  光标向后退一位,进行插入

                   i 光标位置不变,进入插入模式

                   o   与O一样

                   这三个用法,区别不是很大,丰富操作而已

wq=x  一般建议wq操作

命令模式   ZZ 保存退出  ZQ 不保存退出

几点平时实用的小技巧:

1.查找并替换 ;

格式:s/要查找的内容/替换为的内容/修饰符

修饰符:

        i 忽略大小写 

        g 全局替换,默认情况下,每一行只替换第一次出现 

        gc 全局替换,每次替换前询问

% 全文  s 搜索  g  全文

查找替换中的分隔符/可替换为其它字符 ,有时也可以用#,@ 也方便些

 2.编辑二进制文件

      vim -b binaryfile

扩展命令模式下,利用xxd命令转换为可读的十六进制

    :%!xxd

插入模式下,利用xxd命令转会二进制 

   :%!xxd -r

保存退出

3.可视化模式

多文件屏幕分割

vim -o|-O FILE1 FILE2 ...

-o: 水平分割

-O: 垂直分割

通过光标移动来操作分割屏幕:

光标向上移动 ctrl+w+向上箭头

光标向下移动 ctrl+w+向下箭头

保存退出时候发现是一个一个的退出,如果想要一起退出wqall

4.标记和宏(macro)

这个用法看不太懂,但是先记着。。。。。。。。

 ma   将当前位置标记为a,26个字母均可做标记, mb 、 mc 等等 

   'a      跳转到a标记的位置,实用的文档内标记方法,文档中跳跃编辑时很有用 

   qa    录制宏 a,a为宏的名称 

    q      停止录制宏  

   @a    执行宏 a 

   @@   重新执行上次执行的宏

5.vim的一些定制工作特性,可以加大工作效率

配置文件:永久生效

       全局:/etc/vimrc

       个人:~/.vimrc

扩展命令模式:当前vim进程有效

(1) 行号

显示:简写 set nu

取消显示: 简写 set nonu

(2) 忽略字符的大小写

启用:set ignorecase,简写 set ic

不忽略:set noic

(3) 自动缩进

启用:set autoindent,简写 set ai

禁用:set noai

(4) 复制保留格式

启用:set paste

禁用:set nopaste

(5) 显示Tab和换行符 ^I 和$显示

启用:set list

禁用:set nolist

(6) 高亮搜索

启用:set hlsearch

禁用:set nohlsearch

(7) 语法高亮

启用:syntax on

禁用:syntax off

(8) 文件格式

启用windows格式:set fileformat=dos

启用unix格式:set fileformat=unix

简写 set ff=dos|unix

(9) 设置文本宽度

set textwidth=65 (vim only)

set wrapmargin=15

(10) 设置光标所在行的标识线

启用:set cursorline,简写 set cul

禁用:set nocursorline

(11)忽略大小写敏感

:set ignorecase

举报

相关推荐

0 条评论