vim编辑器和less命令实用操作

vim编辑器和less命令实用操作

1 年前 · 来自专栏 生信学习之linux与R基础
linux系统下编辑查看文件离不开vim编辑器和less命令, 下面总结了一些vim和less在实际应用中使用频率最高的命令操作

1. vim编辑器实用操作


image.png


1.1 基本使用

vim  文件名    #(若当前路径没有该文件,则会自动新建一个文件)
  • 进入vim页面后按 i 或者 insert 键进入编辑模式,开始进行编辑修改操作;
  • 修改完成之后点击 Esc 键即可进入命令提示行模式;
  • 最下面的INSERT标志消失后输入 :wq 进行退出保存操作( :w 表示保存, :q 表示退出)

1.2 常用操作

  • 正常模式下:
hjkl             #移动光标左下上右
gg               #文件开头
G   或 shift g   #文件结尾
[   ]            # 双击移动到文件开头或结尾
ctrl b           #向上翻页
ctrl f           #向下翻页
w               #每次向后移动一个单词
0               #回到行首
$               #跳到行尾     
b               #跳到单词开头
e               #跳到单词尾
x               #删除1字符
6x              #删除光标后6字符
dd              #删除光标所在行
6dd             #删除光标所在后6行
d$              #删除光标位置到行尾
d^              #删除光标位置到行首
/                #查找     n下一处匹配   shift n上一处匹配
?                #查找内容(向上查找)
#                #搜索查找光标所在单词
u                #后退操作
ctrl + r         #前进操作
.                #重复上一次操作
  • 编辑模式下:
ctrl + p/n               #自动补齐
  • 命令行模式下:
:sh                  #将vim放置后台,在再按ctrl d 回到vim
:nohl                #取消高亮显示
:set nu              #设置行号
:set nonu            #取消设置行号
:30,50 w 30-50.txt    #将30-50行存储成新txt文件
:split               #分屏显示   ctrl w 再按方向键实现分屏切换
:vsplit              # 纵向分屏
:only                # 取消分屏

1.3 替换操作

  • 常用替换操作示例:
:%s/human/man/gc         #交互询问式全局替换human为man
 :1,$ s/human/man/gc      #交互询问式全局替换human为man(同上)
 :s/human/man/g              #在当前行中替换所有human为man
 :s/human/man                 #在当前行中替换第一个human为man
  • 全局替换示例: 将所有包含pattern行的所有的mon替换为monday,
:g/pattern/s/mon/monday/g

如果用来进行搜索的模式与想要修改的模式相同,那么就不必重复它,以下三条命令等价:

:g/mon/s//monday/g 
:g/mon/s/mon/monday/g 
:%s/mon/monday/g)

1.4 多行注释与去注释

  • 注释 1)首先按键盘上的ESC进入命令行模式 2)显示行号 :set nu 3). 再输入以下命令,将指定行首添加# :起始行号,结束行号s/^/#/g
  • 去注释 1)首先按键盘上的ESC进入命令行模式 2)显示行号 :set nu 3)再输入以下命令,将指定行首的#替换为空 :起始行号,结束行号s/^#//g

2. less 命令实用操作

less -N  #每行添加行号    
less -e   #显示结束后自动离开  
less -f    #强制打开文件
less -i    #忽略搜索时的大小写  
less -S   #文件内容对齐,每一行尽在当前行显示,不进行换行

使用less进入后,可进行输入操作:

h                #进入help    
v                #文本编辑(进入nano编辑器)
/                #向下进行搜索    
?                #向上进行搜索
n                #重复前一个搜索(与 / 或 ? 有关)