VIM全总结
Vim是Linux自带的编辑器,是Vi的高级版,刚开始使用我是一脸懵逼的,跟普通的编辑器完全不同,基本全靠键盘,写完之后也不知道怎么保存,特地花了点时间了解了一下,还是挺简单的。其中,主要包含三种模式,分别是普通模式,插入模式,命令行模式,每种模式都有各自的可进行的操作。
进入vim
vim是在终端上运行的,在进入时只需要输入 vi 就可以运行了。但是也有其他的自定义的方式打开vim,这些方式都是对具体的文件和打开后光标置于文件的位置做的自定义。以下是简单的总结
- vi 直接进入
- vi filename 打开或者新建文件,光标置于首行
- vi +n filename 打开文件,光标置于n行首
- vi + filename 打开文件,光标置于最后一行首
- vi +/pattern filename 打开文件,光标置于第一个匹配处
模式切换
刚开始打开vim的时候是进入的普通模式,普通模式是可以进行查看和删除等操作,插入模式只能够插入字符,命令行模式能够进行查找,保存等操作。
普通模式
普通模式可以进行查看等操作
- 方向键或者hjkl移动游标,w下一个单词开头,b前一个单词结尾,e当前单词结尾
- gg 光标到文档第一行行首
- G 光标到文档最后一行行首
- nG 跳转至n行
- $ 光标到本行尾
- 0 光标到本行首
- x 删除光标所在的字符
- dd 删除本行
- u 撤销操作
- ZZ 保存并退出(shift+zz)
- ZQ 不保存并退出
- 快速查找:/向下查找字符串,?向上查找字符串,回车进入查找后,n继续查找,N反向查找。
命令行模式
主要是对文件进行一些保存,退出等操作。
- :w 保存文件,但不退出
- :w newfile 另存为
- :wq 保存并退出
- :q! 不保存强制退出
- :q 未作修改的情况下直接退出
- :e 打开新的文件
- !命令 执行外部shell命令
vim设置
最后vim本身还有一些实用的设置,也可以了解一下,当然,这是在命令行模式下进行的,也是以冒号开头。
- set nu 显示行号
- :set autoindent 缩进,常用于程序的编写
- :set noautoindent 取消缩进
- :set number 在编辑文件时显示行号
- :set nonumber 不显示行号
- :set tabstop=value 设置显示制表符的空格字符个数
- :set 显示设置的所有选项
- :set all 显示所有可以设置的选项
基本大部分常用的vim操作都在这了,忘了的时候多回顾回顾,代码写的不管好坏,但是操作一定要酷炫。
VIM全总结的更多相关文章
- vim全选,全部复制,全部删除
全选(高亮显示):按esc后,然后ggvG或者ggVG 全部复制:按esc后,然后ggyG 全部删除:按esc后,然后dG 解析: gg:是让光标移到首行,在vim才有效,vi中无效 v : 是进入V ...
- vim全选复制
网上一堆答案全是ggyG,根本不行, 正确答案应该是 gg"*yG 或者 gg"*+yG 下面是在stack overflow 上找到的答案,亲测有效,在此记录下 stackove ...
- vscode + vim 全键盘操作高效搭配方案
基础知识 vscode-vim vscode-vim是一款vim模拟器,它将vim的大部分功能都集成在了vscode中,你可以将它理解为一个嵌套在vscode中的vim. 由于该vim是被模拟的的非真 ...
- 【Linux学习三】VI/VIM全屏文本编辑器
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 一.打开关闭文件打开文件:vim /path/to/somefilev ...
- vim全选复制粘贴
感谢来源:http://blog.sina.com.cn/s/blog_6e70abbd0100zbk9.html ggVG #gg: 光标跳转到首行,在vim才有效,vi中无效 #V 是进入Visu ...
- [转帖]Vim全键盘操作
https://www.cnblogs.com/pzqu/p/11416436.html Vim脱离鼠标第一步 平时不可缺少的会用到vim,但是避免不了鼠标,事实上,省略鼠标是完全可以的,没有想像中那 ...
- Vim 全选命令
ggVG稍微解释一下上面的命令gg 让光标移到首行,在vim才有效,vi中无效V 是进入Visual(可视)模式G 光标移到最后一行选中内容以后就可以其他的操作了,比如:d 删除选中内容y ...
- 1.vim常用方法
vim编辑器 ASCII vi: vim: 全屏,模式化 vim模式: 编辑模式(命令模式) 输入模式 末行模式 模式转换: 编辑-->输入 i,a,o (o:在当前光标所在行的 ...
- vim使用札记
最近开始用vim编辑器了,从最开始的配置到现在慢慢使用,我在这儿会贴出一些我的使用上遇到过的问题和如何解决的方案,留给自己和一些会用到的人看看 1.vim怎么使汇编语法高亮 开始不知道,然后把文件的后 ...
随机推荐
- @Valid与@Validated
Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303规范,是标准JSR-303的一个变种),javax提供了@Valid(标准JSR- ...
- 题解 【SCOI2015】小凸玩矩阵
题面 解析 这题其实也是网络流建图.. 首先,转换下思路, 求第k大的数的最小值, 其实就是求一个最小的值, 使选取的点中能有(n-k+1)个的值比它小. 因此,可以采用二分答案, 每次判断一个值, ...
- Spring Security 解决X-Frame-Options deny
错误信息: Refused to display 'https://github.com/hwclass/awesome-sound' in a frame because it set 'X-Fra ...
- linux安装locust及遇到的坑
安装locust很简单,简单的我以为pip install一下就好了,结果运行locust死活不行,后来的后来,,才搞清楚还要进行以下操作. 前提: 1.已安装Python3和pip3(或者都是2,版 ...
- css3常用动画大全:translate、scale、opacity、rotate (转)
/* animation */ .a-bounce,.a-flip,.a-flash,.a-shake,.a-swing,.a-wobble,.a-ring{-webkit-animation:1s ...
- 创建虚拟机,安装操作系统,xshell6远程链接
一.创建虚拟机 1. 首先安装vmware,注意在安装中,下面的两项不要勾选,一路下一步 2.完成安装打开之后,创建新的虚拟机 3.虚拟机创建完成,需要改配置 4.然后设置网段 5.查看服务,在运行状 ...
- vue子组件改变父组件的值
1 在父组件的coment绑定事件 <template> <div :class="classObj" class="app-wrapper" ...
- Xcode使用介绍之一:Xcode简介+创建App应用
一.Xcode简介 Xcode是苹果官方的集成开发环境IDE,开发者可以使用其开发基于iPhone,iPad,Apple Watch以及Mac平台的应用.Xcode具有如下特点: 一站式开发工具.所有 ...
- 石川es6课程---6、解构赋值
石川es6课程---6.解构赋值 一.总结 一句话总结: 结构相同一一对应的方式赋值:let [json, arr, num, str] = [{ a: 1, b: 2 }, [1, 2, 3], 8 ...
- 【Spring】mvc:annotation-driven 使用
关注此标签,是在项目中有使用 <!-- 解决@ResponseBody 的实现类其默认的编码是 iso-8859-1的问题 --> <mvc:annotation-driven> ...