xjzyy

⭐️linux快捷键:⭐️

# 命令或路径等的补全键
tab

# 执行上一条命令 ⭐️
!!

# 光标定位到命令行行首
ctrl + a

# 光标定位到命令行行尾
ctrl + e

# 清空当前输入快捷键
ctrl + u

# 清空屏幕所有的内容,并开启一个新的一行 ⭐️
ctrl + l

# 放弃当前输入快捷键
ctrl + c

# 光标向右移动一个字符
ctrl + f

# 光标向左移动一个字符
ctrl + b

# 复制命令行内容(mac系统不能使用)
ctrl + insert

# 粘贴命令行内容(mac系统不能使用)
shift + insert

# 剪切(删除)光标处到行尾的⭐️所有⭐️字符
ctrl + k

# 剪切(删除)光标处到行首的⭐️所有⭐️字符
ctrl + u

# 剪切(删除)光标前的一个字符(词语)
ctrl + w

# ⭐️粘贴⭐️ ctrl+k、ctrl+u、ctrl+w 删除的字符
ctrl + y

# 中断终端正在执行的任务并开启一个新的一行
ctrl + c

# 删除光标前的一个字符(相当于退格键)⭐️
ctrl + h

# 退出当前shell命令行,如果是切换过来的用户,则执行这个命令回退到原用户 ⭐️
ctrl + d

# 搜索命令行使用过的历史命令记录 ⭐️
ctrl + r

# 从ctrl+r的搜索历史命令模式中退出
ctrl + g

# 锁定终端,使之任何人无法输入⭐️
ctrl + s

# 解锁ctrl+s的锁定状态⭐️
ctrl + q

#暂停在终端运行的任务,使用"fg"命令可以使暂停恢复 ⭐️
ctrl + z


# 这是一个例子,是执行以pw开头的命令,这里的pw可以换成任何已经执行过的字符 ⭐️
!pw

# 这是一个例子,是仅打印以pw开头的命令,但不执行,最后的那个“p”是命令固定字符 ⭐️
!pw:p

# 执行历史命令列表的第num条命令,num代指任何数字(前提是历史命令里必须存在)⭐️
!num
!270

# 代指上一条命令的最后一个参数,该命令常用于shell脚本中 ⭐️
!$
cat /etc/passwd

[root@VM-0-17-centos ~]# vim !$
vim /etc/passwd
root:x:0:0:root:/root:/bin/bash

# 注意那个".“ 意思是获取上一条命令的(以空格为分隔符)最后的部分 ⭐️
esc + .

# 移动到当前单词的开头
esc + b

# 移动到当前单词的结尾
esc + f

⭐️xshell快捷键⭐️

# 显示隐藏选项卡名称(谷歌浏览器恢复关闭上个标签页)
ctrl+shift+t

# 切换选项卡(谷歌浏览器切换标签页)
ctrl + tab

⭐️vim快捷键⭐️

  • 模式转换:
# 编辑模式-->输入模式
i:insert,在光标所在位置前面输入
a:append,在光标所在位置后面输入

I:在光标所在行的行首输入
A:在光标所在行的行尾插入

o:在光标所在处下一行插入
O:在光标所在处上一行插入

# 输入模式-->编辑模式:ESC

# 光标定位到第三行
vim +3 /etc/hosts

# 光标定位到最后一行
vim + /etc/hosts
  • 关闭文件:
ZZ 		保存文件 //编辑模式退出
:q 		退出		//末行模式退出
:q! 	//强制退出,不保存
:wq		//保存然后退出
:x		//保存并退出
:w  /PATH/TO/SOMEFILE  //保存到其他文件
:w  >> /PATH/TO/SOMEFILE  //追加到其他文件
  • 编辑模式光标调整:
    字符间调整

      h,j,k,l //左,下,上,右 ,四个键刚好紧挨着
    
      #COMMAND 跳转由#指定的个数的字符
    
      10l //向右10个字符 小写的L
    
      10h //向左
    
      5k //向上几行
    
      6j //向下几行
    

    单词间调整

      w:下一个单词的词首
    
      e:当前或后一个单词的词尾
    
      b:当前或前一个单词的词首
    
      #COMMAND 跳转由#指定的个数的单词
    

    行首行尾调整

      ^:跳转至行首的第一个非空白字符
    
      0:跳转至绝对行首
    
      $:跳转至行尾
    

    行间调整

      #G 跳转至#指定的行
    
      1G,gg 第一行 
    
      G:最后一行
    

    句间调整 //小括号

      (
    
      )
    

    段间调整 //花括号

      {
    
      }
    

5.翻屏操作

//翻吧{一瓶},赌半屏

ctrl+f 向文件尾部翻一屏

ctrl+b 向文件首部翻一屏

ctrl+ d/u //向文件尾部/首部翻半屏

enter:按行向后翻

6.编辑命令

//编辑模式

字符编辑

	x:删除光标所在处的字符

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

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

替换命令

	r替换字符:替换光标所在处的字符

	2r:光标所在处的两个字符都替换为输入的字符

删除命令

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

		d$ :光标所在处到行尾

		d^:光标所在处到行首

		dw:删除当前单词

		de:

		db:

	#d[w|e|b|...] //都可以结合数字使用

	dd:删除一整行

		3dd :向下删除3行

		//删除的最后的东西,会被保存到缓冲区

粘贴命令

	(p,put,paste)

	P:小写:缓冲区中的内容如果为整行,则粘贴在当前光标所在行的下行

		如果不是整行,站在当前光标的后面

	p:大写:缓冲区中的内容如果为整行,则粘贴在当前光标所在行的上行

		如果不是整行,站在当前光标的前面

复制命令

	复制命令(yank,y)

	y复制,类似于d命令

	y^,y$,y0

	ye,yw,yb

	#COMMAND

	yy:复制一行

改变命令:(change,C)//和d命令的使用一样

	编辑模式-->输入命令,实现删除操作

	cc :清空所在行,转为输入模式

	cw:清空光标所在单词,转为输入模式

	cb,ce,cw

		#COMMAND //删除多个

7.可视化模式

v :类似于鼠标托选,字符选定

V大写:选中所在行,整行



结合编辑命令使用:d,c,y

8.撤销操作;undo

u;一步一步撤销

	#u:撤销此前的#次操作

ctrl+r //redo

9.重复执行前一个编辑操作

. 重复执行上一个命令

vim自带的练习教程

10.vimturo教程

11.vim末行模式

地址定界

:start_pos[,end_pos]

#:特定的第#行,例如5即第5行

#,# //指定行范围

#,+# //指定行范围,第#行开始向后几行

. ,+# //当前行,往后几行

$ 		//最后一行

.,$-1 //当前行到倒数最后一行

1,$	//全文

%	//全文

/pattern/: 从光标所在处向文件尾部,第一次被指定模式匹配到的行

	/first/,$

/pat1/,/pat2/:从光标所在处起始,由第一次pat1匹配到的行,至第一次pat2匹配到的行结束

12.编辑命令

可同编辑命令一起使用,实现编辑操作:

	d:删除

	y:复制

	c:修改

	w /PATH/TO/SOMEFILE //将范围内容,保存至指定位置

	5r /etc/passwd /从第几行之后读入某文件的内容

13.查找和替换

/PATTERN:从当前光标所在处向文件尾部查找能够被当前模式匹配到的所有

s :末行模式的命令

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

        要查找的内容可以使用正则表达式:

	替换为的内容:不能使用正则表达式,但可以引用

	    如果“要查找的内容”,部分在模式中使用了分组符号;可以使用引用

	    	直接引用查找模式匹配到的文本;&

	    修饰符:

	        i:查找时忽略大小写

		g:全局替换,意味着一行中如果匹配到多次,则均替换

路径需要替换

	/etc/sysconfig

	\/etc\/sysconfig

分隔符:

	/ /

	@ @

	# #

:%s@\《t\(.*\)\>@T\1@g

	//小写t开头的替换为大写T

:%s#\《t\(.*\)#T\1#g

	//注意,小括号得用转义符

:%s@\《t\([[:alpha:]]\+\)@T\1er@g

	//开头变成大写,后面加上er

:%s@\《t\([[:alpha:]]\+\)@T&er@g

	//使用&引用匹配到的所有文本

:%s@^[[:space:]]\+@@

	//删除行首空白

14.vim的多文件模式

vim file1 file2 ...

last,next,prev,first

wqall :保存所有文件并退出

wall:保存所有文件

qall:退出所有



多窗口:

	-o :水平分割

		ctrl + 向上箭头|向下箭头 //切换文件

	-O :垂直分割

		ctrl + w 向左箭头|向右箭头 //切换文件

单文件多窗口分割查看:

	ctrl+w  s/v  //水平和垂直分割,split,vertical

15.定制vim的工作特性

注意:在末行模式下的设定,仅对当前vim进程有效

永久有效:

	全局:/etc/vimrc

	个人:

1.行号

	set nu /set number 显示行号

	set nonu //取消显示

2.括号匹配高亮显示

	匹配:set showmatch //set sm

		括号对应,光标定位左括号,右括号会直接显示

	取消:set nosm

3.自动缩进

	set ai  //auto indent缩进 

	set noai  

4.高亮搜素结果

	set hlsearch

	set nohlsearch //取消高亮

5.语法高亮

	syntax on/off

6.忽略字母大消息

	set ic //ignorecase忽略大小写

	set noic //取消忽略

16.帮助

:help

:help set //查看帮助文档

:help usr_01.txt //查看帮助信息

练习:

1.复制/etc/grub2.cfg文件到/tmp目录中,删除/tmp/grub2.cfg文件中以空白字符开头的行的行首字符

2.复制/etc/rc.d/init.d/functions/文件到/tmp目录中,用查找替换命令,为/tmp/functions文件的每个以空白字符开头的行的行首加上#

3.为/tmp/grub2.cfg文件的前三行的行首,加上#号

4.将/etc/yum.repos.d/CentOS-Base.repo文件中,所有的enabled=0,替换为enabled=1,所有的gpgcheck=0替换为1



:%s@^[[:space:]]\+@@

:%s@\(^[[:space:]]\)\+[^[:space:]]@#\1@ 

	:%s@\(^[[:space:]]\)@#&@  

	//() 对应\1,vim可以使用&引用前者

	//前面是空白,但是后面不是空白的行

:1,3s@^@#@

:%s@\(enabled\|gpgcheck\)=0@\1=1@

	//中间的 | 也要转义

分类:

技术点:

相关文章:

  • 2021-06-24
  • 2022-01-14
  • 2022-12-23
  • 2021-11-23
  • 2021-07-02
  • 2022-12-23
猜你喜欢
  • 2021-12-03
  • 2021-08-19
  • 2022-12-23
  • 2021-04-04
  • 2021-08-18
  • 2022-12-23
相关资源
相似解决方案