Linux之vim编辑器使用

vim三种模式:命令模式,插入模式,退出模式

移动光标操作

左移动一个字符: 按 h 键
右移动一个字符:按 l 键
下移动一行:按 j 键
上移动一行:按 k 键
移动至行首:按 ^ 键
移动至行尾:按 $ 键
移动至文件顶部:按 H 键(仅移动到当前这一屏顶部)
移动至文件顶部:按 gg 键
移动至文件尾部:按 L 键(仅移动到当前这一屏尾部。)
移动至文件尾部:按 G 键
移动至文件中部:按 M 键
移动光标到指定行:输入:数字(输入:set nu 检查是否可以切换到指定行) 向上滚屏:Ctrl+y
向下滚屏:Ctrl+e
向上滚动半屏:Ctrl+u
向下滚动半屏:Ctrl+d
向上滚动整屏:Ctrl+b
向下滚动整屏:Ctrl+f

插入文本操作

在光标右边插入文本:按 a 键
在光标左边插入文本:按 i 键
在光标所在行的下一行插入新行:按 o 键
在一行的结尾处添加文本:按 A 键
在行首插入文本:按 I 键
在光标所在行的上一行插入新行:按 O 键

撤销和重复操作

撤消上一个操作:按 u 键
撤消光标所在行的更改:按 U 键
重复操作:输入.键

删除文本

删除一行:按 dd 键(相当于剪切)
删除第 n 行到第 m 行的内容:n,md

复制和粘贴

复制一行内容:按 yy 键
粘贴:按 p 键
将 start 到 end 行的内容复制到 dest 行以下:Start,end copy dest
将 start 到 end 行的内容移动到 dest 行以下:Start,end m dest

查找和替换

向前查找字符串:/string
向后查找字符串:?string
继续上一次查找:n
以与上次相反的方向查找:shift + n
替换当前行::s/字符串 1/字符串 2
在全局中替换字符串 1 为字符串 2::%s/字符串 1/字符串 2/g
替换 n 到 m 行中的字符 1 为字符串 2::n,ms/字符串 1/字符串 2/g

保存和退出

保存退出: :wq或:x
不保存退出::q!
保存退出,对拥有者忽略只读权限::wq!
另存为::w filename

设置

自动缩进::set autoindent
语法高亮::syntax enable或syntax on
显示行号::set nu!
查找结果高亮显示::set hlsearch
自动换行::set warp
忽略大小写::set ignorecase
取消高亮显示::nohl

可视化模式

开始字符高亮选定:v
开始行高亮选定:V
ctrl+v列方向高亮选定
高亮显示的文本能被删除d,拷贝y,替换c,搜索/替换:s/old/new等 #多行注释
1,ctrl+v进入列编辑模式
2,向下或向上移动光标
3,把需要注释的行的开头标记起来
4,然后按大写的I(行首插入)
5,再插入注释符,比如"#"
6,再按ESC,就会全部注释了 #删除多行注释:
1. 首先按esc进入命令行模式下,按下Ctrl + v, 进入列模式
2. 选定要取消注释的多行
3. 按下“x”或者“d”;注意:如果是“//”注释,那需要执行两次该操作,如果是“#”注释,一次即可

多窗口模式

#在单个vim屏幕中查看多个文档
ctrl-w,s:横向分割屏幕
ctrl-w,v:纵向分割屏幕
ctrl-w,方向键:在窗口间移动 退出模式的指令只影响当前窗口
:sp file在同一个窗口打开其他文件
:help windows:显示更多窗口命令 #vim实现文件另存为的功能
:w new_filename
#vim截取部分内容保存到其他文件
:start,endw file

最新文章

  1. java泛型上下限
  2. [ASP.NET MVC] ASP.NET Identity登入技术剖析
  3. 哈,我自己翻译的小书,马上就完成了,是讲用python处理大数据框架hadoop,spark的
  4. crontab每秒执行URL接口
  5. MemcacheQ 安装与使用
  6. [c#基础]集合foreach的必要条件和自定义集合
  7. BestCoder17 1002.Select(hdu 5101) 解题报告
  8. 如何使用SAE的Storage
  9. 使用PyQt4写界面后台程序方法总结
  10. Linux 网络编程基础(4) -- Ping 的C代码实现
  11. 高性能Mysql主从架构的复制原理及配置详解(转)
  12. CentOS 7中将Tomcat设置为系统服务
  13. DotNetCore跨平台~功能测试TestHost的使用
  14. Spark机器学习(11):协同过滤算法
  15. 过滤IP地址的正则表达式
  16. c# 连接mysql配置config,不用装net connector
  17. backBone.js之Model篇 (1) 简单实例
  18. Complete list of APDU responses
  19. Flink中的数据传输与背压
  20. maven-eclipse-plugin downloadSources downloadJavadocs

热门文章

  1. DAST 黑盒漏洞扫描器 第四篇:扫描性能
  2. Windows-安装OpenVINO
  3. GitLab、Jenkins结合构建持续集成(CI)环境
  4. 交警也觉得妙——Python 识别车牌
  5. 利用laravel-echo主动向服务端发送消息,实现在线状态管理
  6. NC21181 重返小学
  7. Android 12(S) 图像显示系统 - drm_hwcomposer 简析(上)
  8. yum-config-manager: command not found
  9. 基于ABP实现DDD--DDD相关概念
  10. OpenCV视频防抖技术解析