linux相关操作先发一部分吧,看别人的总感觉不得劲就自己整理了,但是完整的还没弄完。。
文章目录
3种模式
-
命令行模式(command mode): 用于控制光标移动、删除/查找/移动/复制操作。
-
进入编辑模式:
i o a
(o:在光标的下一行插入) -
进入底行模式:
:
注意!如果没有切换成功而是听到提示声,看看是不是自己输入法没切换成英文!
-
快捷键直接保存并退出
shift + zz
-
光标跳到最后一行快捷键:
shift + g
-
-
编辑模式(Insert mode)
- 按
ESC
可回到命令行模式
- 按
-
底行模式(last line mode): 用于文件保存或退出vi、设置编辑环境(如查找、显示行号等)。
:q
退出 或:q!
强制退出 或:wq
保存并退出- 底行模式下查找历史命令:
:Ctrl+p
上一条命令,:Ctrl+n
下一条命令 (注意不是输入ctrl+p哦,是在底行显示:
的情况下按键操作)
为了方便读者区分命令行模式和底行模式,所有底行模式的操作我都保留底行模式下的
:
符号
命令行模式下的操作
注意下面的操作都是在命令行模式下直接按键进行操作!
复制yy、粘贴p、剪切dd
复制:yy
- 复制n行:
[n]yy 或 yy[n]
,n为从当前行往下数需要复制的行数 - 复制选中的文本:可视模式下选中文本按后y。
- 复制到文件末或首:从当前行复制到文件首ygg,从当前行复制到文件尾yG。
另外注意!如果你需要批量复制,而你之前设置过vim显示行号,为了解决把行号也复制了的问题,可以先
set nonu
来取消行号,再进行批量复制。
粘贴:p
剪切:dd
- 剪切n行:
dd[n]
,n为从当前行往下数需要剪切的行数。 - 剪切选中的文本:可视模式下选中文本后按d。
- 剪切到文件末或首:从当前行剪切到文件首dgg,从当前行剪切到文件尾dG。
撤销 u 恢复 ctrl+r
u撤销相当于windows下的ctrl+z ,ctrl+r 恢复相当于windows下的ctrl+y,即反撤销
批量注释
-
ctrl + v
进入VISUAL BLOCK模式 -
使用pgUp或pgDn控制光标上下移动,以选择多行
-
选择完毕,按大写的
I
键进入insert模式,输入注释符#或// -
按两下
ESC
键,批量注释完成~
取消批量注释
-
ctrl + v
进入VISUAL BLOCK模式 -
使用pgUp或pgDn控制光标上下移动,以选择多行
-
按小写的
l
键 -
按
d
键,批量取消注释完成~
取消批量注释的2,3步骤顺序可以互换
查看man中命令,api,库函数的具体用法
光标停在命令/函数上,按 K
或 章节 K
查看。
另外补充一下,如果在终端和vim查看man手册中某些函数时出现:
No manual entry for *** in section 2
。查不到指定函数***。
解决办法:下载新版的man手册源码包:yum install man-pages
.之后就能正常查看啦~
注意在vim中查看man和在终端查看man时,最好都不要省略章节数字!否则可能会跳转到其它章节的其它函数!
底行模式下的操作
注意下面的操作都是在底行模式进行操作!
查找 :/
替换 :s
替换某一行的单词
- 光标置于待替换行
:s /待替换词/替换词
替换多行的单词
-
:%s /待替换词/替换词
默认替换每行的第一个替换词 -
:%s /待替换词/替换词/g
全局替换
区域替换
:24,35s /待替换词/替换词/g
替换24-35行之间的目标词
跳到指定行 :行数
直接:行数
即可
批量粘贴(防止粘贴格式不对)
粘贴::set paste
关闭::set nopaste
🚫 直接粘贴:
✅ 使用:set paste
粘贴:
分屏 :sp
:vsp
分屏
-
:sp filename
水平分屏 -
:vsp filename
竖直分屏
分屏后屏幕切换
- Ctrl + ww
退出窗口
-
:q
退出光标所在窗口 -
:qall
退出所有窗口
切换至终端显示
:! + 命令
按Enter回到vim界面
导入内容 :r
》把一个文件的内容导入到当前的文件中:在底行模式输入r 源文件路径
。
- 举个栗子: 输入
:r ~/hello.c
就把hello.c文件的内容导入到了当前文件中
查看当前编辑文件的路径 pwd
vim配置
两个vim配置文件
-
/etc/vim/vimrc
系统配置 -
~/.vimrc
用户配置
其中,第二个配置文件会优先加载,属于用户配置
具体配置可以根据需要自行搜索