Vim 入门
Vim 简介
Vim 是字符模式下的一种文本编辑器,不需要图形界面,它是 Vi 的一个发展。
Vim 与常见文本编辑器的区别在于,它有四种模式,“正常模式”“插入模式”“命令模式”“可视模式”。
插入模式是最正常的文本。
打开
使用 vim <filename> 来打开文件,或新建一个文件。
Vim的四种模式
Vim 打开后进入正常模式,通过一些命令可以进入插入模式。
通过输入:进入命令模式,光标会移动到窗户左下角,这种模式下,可以对文件和环境做一些操作。
通过输入 v 或 V 进入可视模式,可以选择一部分文本,然后对其进行操作。
通过 Esc 键从其他模式返回正常模式。
当不知道处在什么模式的时候,可以多敲几次 Esc 来返回正常模式。
一些命令
这里只罗列一些基本操作所需要的命令,如果想了解 Vim 全部命令,可以输入 vimtutor
这些命令都是在正常模式中输入的,其实相当一部分命令可以当做快捷键,这样便于理解。
所有的命令最好在 Vim 下进行尝试。
插入
这一部分命令只使用了键盘上的一个按键,直接敲击即可,可以认为它们是一些快捷键。
这些命令使得 Vim 从正常模式进入插入模式。
这里把大写和小写放在了同一行,应该知道它们是两种命令,功能上有所相似。
i I 在光标前插入 在光标所在行头插入
a A 在光标后插入 在光标所在行尾插入
o O 在光标所在行下一行插入新行 在光标所在行前一行插入新行
移动
在正常模式下移动光标所用的命令。
在一些版本的 Vim 中,在插入模式下可以使用方向键来移动光标,比如 NOI Linux。
h j k l 分别为 左 下 上 右
gg 到文件头
G 到文件尾
<n>G 移动到第<n>行,例如移动到第 10 行,敲击键盘上对应按键 10G 即可
ctrl+f 下一页(相当于 page down)
ctrl+b 上一页(相当于 page up)
zz 光标所在行居中
文件
这一部分命令,首先输入 :,光标将出现在屏幕最下方,输入指令后敲击 Enter 来执行。这部分命令是可以组合的,如输入 :wq,可以在后面添加 ! 来强制执行,如 :wq!。
:w 写入
:q 退出
编辑
x 删除当前字母
dd 剪切当前行
gg=G 整理全文代码缩进
V 选择部分行(从光标所在行开始,通过jk移动选择)
d 剪切
y 复制
p 粘贴,在正常模式
u 撤销
ctrl+r 反撤销
环境设置
Vim 中有一些属性通过设置来调整。
:set ai 自动缩进
:set nu 显示行号(number)
:set ts=4 TAB 的宽度为 4
:set expandtab 将TAB替换为空格
.vimrc
如果不想每次打开 Vim 的时候都设置一遍环境,可以写一个 .vimrc 文件,每次打开 Vim 的时候都会先执行一次。
在 ~/ 下创建 .vimrc 文件,输入例如 set ai,即省略 :。
更多命令
环境设置
:set fdm=indent 设置按缩进分层折叠代码
:set sw=4 设置宽度为 4 的缩进为一层,用于折叠
折叠
zm 关闭所有折叠
zM 关闭所有折叠及其嵌套的折叠
zr 打开所有折叠
zR 打开所有折叠及其嵌套的折叠
za 关闭、打开光标下的折叠
zA 关闭、打开光标下的折叠及其嵌套
[z 到当前打开折叠的开始
]z 到当前打开折叠的结束
显示
:vsplit <文件名> 分屏显示另一文档(竖直分割)
Vim 入门的更多相关文章
- Vim入门基础
公司新员工学习有用到,Vim官网的手册又太大而全,而网上各方资料要么不全面,要么不够基础.在网上搜集各方资料,按照自己的框架整理一份Vim入门基础教程,分享出来.特点是偏向基础,但对入门者来说足够全面 ...
- Ubuntu学习小结(二)PostgreSQL的使用,进程的查看关闭,编辑器之神Vim入门
距离上次发布文章已经过去了很久.在过去的半年中,虽然写的代码不多,但是在接触了计算机一些其他的知识,包括数据库.网络之后,感觉能够融会贯通,写代码水平又有了一定的提高.接下来,将会发表几篇文章,简单介 ...
- Vim入门操作整理
根据小甲鱼的vim入门视频整理,供查阅 移动指令:上下左右 k j h l 翻页: ctrl + b ctrl + f 保存退出:ZZ 普通模式:vim fileName 首次进入的就是普通模式 从 ...
- Vim 入门教程
Vim 入门教程 转载请保留以上信息 Vim 的教程相对比较零散,系统的教程比较少,我也阅读过不少教程,走过很 多弯路.借着 Vim-china 组织组建这一契机,整理下自己学习过的内容, 分享给大家 ...
- vim入门过程
先下载了一本VIM的用户手册. 看到可以使用vimtutor(VIM的入门教程,很不错,由浅入深)作为入门. Unix系统中,请在命令行输入:vimtutor,进入教程. MS-Windows系统中, ...
- [vim] vim入门
1. 概述 工欲善其事 必先利其器.vim是非常好用的文本编辑器,可以将它看作是vi的进阶.绝大多数Unix系统都会内置vi编辑器,vi是文本编辑器,vim是程序编辑器.相比vi,它可以根据文件的类型 ...
- Vim入门学习之Vim解析
Vim解析... ----------------------- 首先你要会从官网上下载你想要的Vim版本: 官网: http://www.vim.org/==================== ...
- Vim入门教程
尽管网上有成打的Vim在线教程,但是要么艰深晦涩,要么太过肤浅.本教程的目标让每个阶段都有斩获,从理解它的哲学(将和你终身相伴)到超越现在编辑技巧,成为其中的牛人. 简单来说,本教程的学习方式将使你终 ...
- Maxiee的Vim入门日记(4)——安装windows下的Cscope
Maxiee今天又学到了一个插件——Cscope.Cscope 是一款用于查看大型工程中的代码的软件.它使用方便,支持快速查找 C Symbol.function 等在工程中所有出现的位置,而不用自己 ...
- Vim 入门:基础
为工作或者新项目学习足够的 Vim 知识. -- Bryant Son 我还清晰地记得我第一次接触 Vim 的时候.那时我还是一名大学生,计算机学院的机房里都装着 Ubuntu 系统.尽管我在上大学前 ...
随机推荐
- yolov2
在这篇文章中,作者首先在YOLOv1的基础上提出了改进的YOLOv2,然后提出了一种检测与分类联合训练方法,使用这种联合训练方法在COCO检测数据集(用于检测)和ImageNet分类数据集(用于分类) ...
- ent 基本使用 三 边(关系处理)
ent 提供了图查询的能力,实际上在关系数据库中的表现就是relation,以下代码接前文 添加边(关系) 添加schema entc init Car Group 效果: 添加字段 car pack ...
- [RN] React Native 使用精美图标库react-native-vector-icons
React Native 使用精美图标库react-native-vector-icons 一.安装依赖 npm install --save react-native-vector-icons // ...
- CGLIB和Java动态代理的区别(笔记)
java常用知识点: 1.Java动态代理只能够对接口进行代理,不能对普通的类进行代理(因为所有生成的代理类的父类为Proxy,Java类继承机制不允许多重继承):CGLIB能够代理普通类:2.Jav ...
- Flume 实战,将多台机器日志直接收集到 Kafka
目前我们使用的一个 b 端软件的报错日志分散在集群各处,现在想把它收集到一个地方然后统一丢进 Kafka 提供给下游业务进行消费. 我想到了 flume,之前让同事搭建的这次自己想多了解一些细节于是就 ...
- uni-app 实现分享生成图片
<template> <view> <view class="personal_li" @click="shareClick"&g ...
- exception The absolute uri: [http://java.sun.com/jsp/jstl/core] cannot be resolved in either web.xml or the jar files deployed with this application
1.情景展示 eclipse,运行web项目时,报错信息如下: The absolute uri: [http://java.sun.com/jsp/jstl/core] cannot be ...
- 【转】目前为止最透彻的的Netty高性能原理和框架架构解析
转自:https://zhuanlan.zhihu.com/p/48591893 1.引言 Netty 是一个广受欢迎的异步事件驱动的Java开源网络应用程序框架,用于快速开发可维护的高性能协议服务器 ...
- .NETCore websocket
.NETCore websocket 实现简易.高性能.集群即时通讯组件,支持点对点通讯.群聊通讯.上线下线事件消息等众多实用性功能. https://github.com/2881099/im
- Spring 中的事件机制
说到事件机制,可能脑海中最先浮现的就是日常使用的各种 listener,listener去监听事件源,如果被监听的事件有变化就会通知listener,从而针对变化做相应的动作.这些listener是怎 ...