ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

笔记·vim编辑器

2022-07-19 12:04:14  阅读:181  来源: 互联网

标签:文件 字符 tr 笔记 vim 编辑器 跳转 patch 光标


文本查看及处理工具:wc,cut,sort,uniq,diff,patch,head,tail,paste

#wc [-l|-w|-c]
#cut -d: -f1,3-5,7 /etc/passwd
  -d CHAR:指定分隔符
  -f FIELDS:挑选出的字段
  #:指定的单个字段
  #-#:连续的多个字段
  #,#:离散的多个字段
  --output-delimiter=STRING指定输出分隔符
#df | tr -s ' '|cut -d' ' -f5 |tr -dc "[0-9\n]"
#df | tr -s ' ' % |cut -d% -f5 |tr -d '[:alpha:]'
#df | tail -n +2|tr -s ' ' % |cut -d% -f5
#df | tail -n +2|tr -s ' ' |cut -d' ' -f5 |tr -d %
#sort -t: -k3 /etc/passwd
  -n:基于数值大小进行排序
  -t CHAR:指定分隔符
  -k FIELDS:用于排序的字段
  -r:逆序排序
  -u:连续且重复的行只保留一次
#df | tr -s " " %|cut -d% -f5|tr -d '[:alpha:]' | sort -nr
#uniq:报告或移除重复的行
  -c:统计重复出现的次数
  -u:只显示没有重复的行
  -d:只显示有重复的行
#ss -nt|tail -n+2 |tr -s ' ' : |cut -d: -f6|sort|uniq -c|sort -nr |head -n2
#cat test1.txt test2.txt | sort |uniq -d    //取文件相同行
#cat test1.txt test2.txt | sort |uniq -u    //取文件不同行
#diff -u test test.new > test.patch    //将两个文件的不同生成补丁文件
  -u:使用unfied机制,即显示要修改的行的上下文,默认为3行
#patch -i test.patch test    //将补丁打到test文件中
  -R:逆向补丁,例如:patch -R -i test.patch test
#patch -p0 testfile1 testfile.patch
#patch -b f1.txt f.patch
#head -n <k:前三行|-k:排除后三行>
#tail -n <k:后三行|+k:排除前三行>
#paste -d: user.txt pass.txt|chpasswd    //合并文件

打开文件

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

编辑模式:默认模式

编辑模式-->输入模式:
  i:光标所在处输入;
  a:光标所在处后方输入;
  o:光标所在处下方新开一行输入;
  I:光标所在行的行首输入;
  A:关闭所在行的行尾输入;
  O:光标所在处上方新开一行输入;
输入模式-->编辑模式
  ESC
编辑模式-->末行模式
  :
末行模式-->编辑模式
  ECS

关闭文件

ZZ:保存并退出
:q 退出
:q! 不保存强制退出
:wq 保存并退出
:x 保存并退出
:w /PATH/TO/SOMEFILE 保存到其他文件,即另存为

光标跳转

字符间跳转
  k j h l:上 下 左 右
  10l:向右跳10字符
  2j:向下跳2行
  #COMMAND:跳转指定#个字符;
单词间跳转
  w:跳到下一个单词的词首
  b:当前或前一个单词词首
  e:当前或后一个单词词尾
  #COMMAND:跳转指定#个单词;
行首行尾跳转
  ^:跳转至行首第一个非空白字符;
  0:跳转至行首;
  $:跳转至行尾;
行间跳转
  #G:跳转至第#行;
  1g或gg:跳转至第一行
  G:跳转至最后一行
句间跳转
  )
  (
段间跳转
  }
  {

翻屏操作

Ctrl+f:向文件尾部翻一屏
Ctrl+b:向文件首部翻一屏
Ctrl+d:向文件尾部翻半屏
Ctrl+u:向文件首部翻半屏
Enter:按行向后翻

vim编辑命令

字符编辑:
  x:删除光标所在处字符;
  #x:删除光标所在处起始的#个字符;
  xp:交换光标所在处的字符与其后面的字符的位置;
替换编辑:
  r:替换光标所在处的字符,r后需要跟一个字符;
删除命令:
  d:删除命令;
  d$:删除当前字符到行尾的字符;
  d^:删除光标前的字符至行首的字符;
  dw:删除当前单词;
  dd:删除当前行;
  #COMMAND:删除多个指定的字符或单词或行;
粘贴命令:
  小写p:缓冲区的内容为整行,则粘贴在光标所在行的后方;否则,粘贴在当前位置;
  大写P:缓冲区的内容为整行,则粘贴在当前位置;否则,粘贴在光标所在行的后方;
复制命令:
  y:复制,工作行为与d相似
  y$、y^、yw、yy、#yy
改变命令(change,c):
  编辑模式-->输入模式,实现删除操作;
  c$、c^、c0、cb、ce、cw、cc、#cc
可视化模式:
  v:按字符选定
  V:按行选定
  结合编辑命令使用:d、c、y
撤销操作:
  u:撤销此前的操作;
  #u:撤销此前#个操作;
撤销此前的撤销;
  Ctrl+r
重复执行某个操作:
  .

vim末行命令

地址定界:
  :start[,end]
    #:特定的第#行;
    .:当前行;
    $:最后一行;
    #,#:指定范围;
    #,+#:从第#行开始往后加#行;
    %:全文;
    /pattern/:从光标所在到文末第一次被指定的pattern匹配到的行;

  编辑命令一同使用:d、y、c
    w PATH:将范围内的文本保存至指定文件中;
    r PATH:将指定文件中的内容写入到指定位置;

查找:
  /PATTERN:从当前向文件尾部查到匹配到的所有字符串;
  ?PATTERN:从当前向文件首部查到匹配到的所有字符串;
    n:下一个
    N:上一个

查找并替换:
  s:末行模式的命令,使用格式:s/要查找的内容/替换为的内容/修饰符
    要查找到内容:可使用正则表达式;
    替换为的内容:不能使用正则表达式,但是可以引用;
    修饰符:
      i:忽略大小写;
      g:全局替换;
  可以把分隔符替换为其他非常用字符;
    s@@@
    s###
  范例:
    %s@\<t\([[:alpha:]]\+\)\>@T\1@g
    %s@\<t\([[:alpha:]]\+\)\>@er@g
    %s@^[[:space:]]\+@@
    %s@^[[:space:]]\+[^[:space:]]@#&@g
    %s@\(enabled\|gegcheck\)=0@\1=1@g

vim多文件功能

多文件:
  #vim File1 File2 ...

  文件间切换:
    :next 切换到下一个文件
    :prev 切换到上一个文件
    :last 切换到最后一个
    :first 切换到第一个

  退出所有文件:
    :wqall 保存所有文件并退出

多窗口:
  #vim -o File1 File2 ...
    -o:水平分割
    -O:垂直分割
      Ctrl+w,松开后按向上或向下的箭头。
      Ctrl+w,松开后按s单文件中再次水平切割。
      Ctrl+w,松开后按v单文件中再次垂直切割。

定制vim工作特性:在末行模式下的设定只对当前vim进程有效;

永久生效:
  /etc/vimrc
  ~/.vimrc
行号:
  :set nu 显示行号
  :set nonu 取消显示行号
匹配高亮:
  :set showmatch 高亮显示
  :set noshowmatch 取消高亮显示
自动缩进:
  :set ai
  :set unset
搜索高亮:
  :set hlsearch
  :set nohlsearch
语法高亮:
  :syntax on
  :syntax off

标签:文件,字符,tr,笔记,vim,编辑器,跳转,patch,光标
来源: https://www.cnblogs.com/KrillLiszt/p/16493551.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有