20155208徐子涵Vim编辑器学习经验
20155208徐子涵 2016-2017-2 Vim编辑器学习经验
当我们运用虚拟机进行书写代码时,我们就会用到Vim编辑器,用Vim编辑器进行编辑特别方便,而Vim编辑器中也有一些操作需要去学习。
Vim编辑器基本操作
vim启动进入普通模式,处于插入模式或命令行模式时只需要按Esc或者Ctrl+[(这在vim课程环境中不管用)即可进入普通模式。普通模式中按i(插入)或a(附加)键都可以进入插入模式,普通模式中按:进入命令行模式。命令行模式中输入wq回车后保存并退出vim。
vim后面加上你要打开的已存在的文件名或者不存在(则作为新建文件)的文件名。 打开Xfce终端,输入以下命令 $ vim practice_1.txt
直接使用vim也可以打开vim编辑器,但是不会打开任何文件。 $ vim
进入命令行模式后输入 :e 文件路径 同样可以打开相应文件。
在进入vim后,按下i键或a键进入插入模式。
按Esc进入普通模式,在该模式下使用方向键或者h,j,k,l键可以移动游标。
| 按键 | 说明 |
|---|---|
| h | 左 |
| l | 右(小写L) |
| j | 下 |
| k | 上 |
| w | 移动到下一个单词 |
| b | 移动到上一个单词 |
在普通模式下使用下面的键将进入插入模式,并可以从相应的位置开始输入
| 命令 | 说明 |
|---|---|
| i | 在当前光标处进行编辑 |
| I | 在行首插入 |
| A | 在行末插入 |
| a | 在光标后插入编辑 |
| o | 在当前行后插入一个新行 |
| O | 在当前行前插入一个新行 |
| cw | 替换从光标所在位置后到一个单词结尾的字符 |
从普通模式输入:进入命令行模式,输入w回车,保存文档。输入:w 文件名可以将文档另存为其他文件名或存到其它路径下。
从普通模式输入:进入命令行模式,输入wq回车,保存并退出编辑
以下为其它几种退出方式:
| 命令 | 说明 |
|---|---|
| :q! | 强制退出,不保存 |
| :q | 退出 |
| :wq! | 强制保存并退出 |
| :w <文件路径> | 另存为 |
| :saveas 文件路径 | 另存为 |
| :x | 保存并退出 |
| :wq | 保存并退出 |
文本的删除
进入普通模式,使用下列命令可以进行文本快速删除:
| 命令 | 说明 |
|---|---|
| x | 删除游标所在的字符 |
| X | 删除游标所在前一个字符 |
| Delete | 同x |
| dd | 删除整行 |
| dw | 删除一个单词(不适用中文) |
| d或D | 删除至行尾 |
| d^ | 删除至行首 |
| dG | 删除到文档结尾处 |
| d1G |
删至文档首部 |
vim重复命令
在普通模式下.(小数点)表示重复上一次的命令操作
普通模式下输入x,删除第一个字符,输入.(小数点)会再次删除一个字符,除此之外也可以重复dd的删除操作
输入10x,删除10个连续字符 输入3dd,将会删除3行文本 在普通模式下,你还可以使用dw或者daw(delete a word)删除一个单词,所以你可以很容易的联想到dnw(n替换为相应数字)表示删除n个单词.
游标的快速跳转
| 命令 | 说明 |
|---|---|
| nG(n Shift+g) | 游标移动到第 n 行(如果默认没有显示行号,请先进入命令模式,输入:set nu以显示行号) |
| gg | 游标移动到到第一行 |
| G(Shift+g) | 到最后一行 |
行内跳转
| 命令 | 说明 |
|---|---|
| w | 到下一个单词的开头 |
| e | 到下一个单词的结尾 |
| b | 到前一个单词的开头 |
| ge | 到前一个单词的结尾 |
| 0或^ | 到行头 |
| $ | 到行尾 |
| f<字母> | 向后搜索<字母>并跳转到第一个匹配的位置(非常实用) |
| F<字母> | 向前搜索<字母>并跳转到第一个匹配的位置 |
| t<字母> | 向后搜索<字母>并跳转到第一个匹配位置之前的一个字母(不常用) |
| T<字母> | 向前搜索<字母>并跳转到第一个匹配位置之后的一个字母(不常用) |
复制粘贴和剪切
普通模式中,yy复制游标所在的整行(3yy表示复制3行)
普通模式中,y^
复制至行首,或y0。不含光标所在处字符。
普通模式中,y$复制至行尾。含光所在处字符。
普通模式中,yw 复制一个单词。
普通模式中,y2w 复制两个单词。
普通模式中,yG 复制至文本末。
普通模式中,y1G 复制至文本开头。
普通模式中,p(小写)代表粘贴至光标后(下)
普通模式中,P(大写)代表粘贴至光标前(上)
替换和撤销(Undo)命令
| 命令 | 说明 |
|---|---|
| r+<待替换字母> | 将游标所在字母替换为指定字母 |
| R | 连续替换,直到按下Esc |
| cc | 替换整行,即删除游标所在行,并进入插入模式 |
| cw | 替换一个单词,即删除一个单词,并进入插入模式 |
| C(大写) | 替换游标以后至行末 |
| ~ | 反转游标所在字母大小写 |
| u{n} | 撤销一次或n次操作 |
| U(大写) | 撤销当前行的所有修改 |
| Ctrl+r redo | 即撤销undo的操作 |
命令行模式下输入:ce(center)命令使本行内容居中 :ce
命令行模式下输入:ri(right)命令使本行文本靠右 :ri
命令行模式下输入:le(left)命令使本行内容靠左 :le
恢复文件
如果因为断电等原因造成文档没有保存,可以采用恢复方式,vim -r进入文档后,输入:ewcover 1.txt来恢复
创建加密文档
$ vim -x file1 输入您的密码 确认密码 这样在下一次打开时,vim就会要求你输入密码
vim中的查看帮助
普通模式下按F1打开vim自己预设的帮助文档
命令行模式下输入:h shiftwidth 打开名为shiftwidth的帮助文件
命令行模式下输入:ver 显示版本及参数
以上就是我学习Vim编辑器所总结的一些经验,有需要的同学可以借鉴一下。
20155208徐子涵Vim编辑器学习经验的更多相关文章
- linux vi/vim 编辑器学习总结
linux vi/vim 编辑器学习总结 很多时候我们开发人员不可避免的会涉及到项目部署,这个时候使用的就不是我们所熟知的 Windows 和 Mac OS 操作系统了,而是类 Unix 系统.项目部 ...
- vim编辑器学习
vim是一个非常强大的编辑器,看了很多文章能感受到它的强大,不过还需要不断地学习和使用来慢慢感受. 安装vim 在ubuntu 系统中使用 sudo apt-get install vim-gtk 安 ...
- vim编辑器学习记录
i:在光标所在字符前开始插入 a:在光标所在字符后开始插入 o:在光标所在行的下面另起一新行插入 s:删除光标所在的字符并开始插入 I:在光标所在行的行首开始插入 如果行首有空格则在空格之后插入 A: ...
- Vim 编辑器学习笔记
参考资料: 世界上最牛的编辑器: Vim 1
- 20155208徐子涵 2016-2017-2 《Java程序设计》第5周学习总结
20155208徐子涵 2016-2017-2 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 异常处理 8.1 语法与继承结构 Java中所有错误都会被打包为对象,运用tr ...
- (大数据工程师学习路径)第二步 Vim编辑器----Vim快速入门
vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数的编辑器使用了与Vim截 ...
- 20155208徐子涵 2016-2017-2 《Java程序设计》第9周学习总结
20155208徐子涵 2016-2017-2 <Java程序设计>第9周学习总结 教材学习内容总结 第十六章 整合数据库 16.1 JDBC入门 撰写应用程序是利用通信协议对数据库进行指 ...
- 20155208徐子涵 2016-2017-2 《Java程序设计》第8周学习总结
20155208徐子涵 2016-2017-2 <Java程序设计>第8周学习总结 教材学习内容总结 第14章 NIO与NIO2 14.1 认识NIO NIO概述 NIO使用频道(Chan ...
- 20155208徐子涵 2016-2017-2 《Java程序设计》第7周学习总结
20155208徐子涵 2016-2017-2 <Java程序设计>第7周学习总结 教材学习内容总结 第十三章 时间与日期 13.1 认识时间与日期 就目前来说,即使标注为GMT(无论是文 ...
随机推荐
- Ubuntu 下安装Go语言
https://blog.csdn.net/ceciiiilia/article/details/71483221 (一)从官网安装Go语言 1.对于64位Linux: $ wget https:// ...
- Java文档注释导出帮助文档和项目的jar包导入和导出。
1.1 文档注释导出帮助文档 在eclipse使用时,可以配合文档注释,导出对类的说明文档,从而供其他人阅读学习与使用. 通过使用文档注释,将类或者方法进行注释用@简单标注基本信息.如@au ...
- Oracle多个字段如何合并成一个字段显示
今天记录一下在oracle中多个字段如何和合并成一个字段,使用到符号“||” 1.组合查询的数据 1)组合前查询的语句 -- 组合前数据的字段 -- select A.MID CATE_ID,A.Co ...
- ResouceUtils.getFile()取不到Jar中资源文件源码小结
Spring提供了一个工具类可以加载classpath下的文件,一般情况下无任何问题,但是当它作为公共的jar包中的工具来加载jar包中的文件时则报出找不到文件的错误. 点开看了一下这个工具类Reso ...
- error: http://ppa.launchpad.net lucid Release: The following signatures couldn't be verified because
ubuntu 命令行sudo apt-get update W: GPG error: http://ppa.launchpad.net lucid Release: The following si ...
- std::string find 的返回值
std::string 的方法 find,返回值类型是std::string::size_type, 对应的是查找对象在字符串中的位置(从0开始), 如果未查找到,该返回值是一个很大的数据(4294 ...
- laravel基于Bootstrap的成功和失败的提示信息和验证提示信息
message.blade.php <!-- 成功提示框 --> @if(Session::has("success")) <div class="al ...
- 容错机制和熔断(Hystrix)
雪崩效应 在微服务架构中,由于服务众多,通常会涉及多个服务层级的调用,而一旦基础服务发生故障,很可能会导致级联故障,进而造成整个系统不可用,这种现象被称为服务雪崩效应.服务雪崩效应是一种因“服务提供者 ...
- printf以%d形式输出浮点数的问题
若运行时从键盘上输入9876543210l,则下面程序的输出结果是 int main(){ int a;float b,c; scanf("%2d%3f%4f",&a,&a ...
- day16-python常用的内置模块2
logging模块的使用 一:日志是我们排查问题的关键利器,写好日志记录,当我们发生问题时,可以快速定位代码范围进行修改.Python有给我们开发者们提供好的日志模块,下面我们就来介绍一下loggin ...