命令

说明

光标移动

 

h

l(小写L)

j

k

w

移动到下一个单词

b

移动到上一个单词

   

插入

 

i

在当前光标处进行编辑

I(大写i)

在行首插入

A

在行末插入

a

在光标后插入编辑

o

在当前行后插入一个新行

O

在当前行前插入一个新行

cw

替换从光标所在位置后到一个单词结尾的字符

   

退出

 

:q!

强制退出, 不保存

:q

退出

:wq!

强制保存并退出

:w <文件路径>

另存为

:saveas 文件路径

另存为

:x

保存并退出

:x

保存并退出

:wq

 
   

删除

 

x

删除光标所在的字符

X

删除光标所在前一个字符

Delete

同x

dd

删除整行 (也是剪切)

dw

删除一个单词(不适用中文)

d$或D

删除至行尾

d^

删除至行首

dG

删除到文档结尾处

d1G

删除至文档首部

   

其他

 

.

重复上一次命令

n<命令>

5x, 3dd 执行指定次数相同的命令

:set nu

显示行号

~

将光标所在字母变成大写或小写

   

光标快速跳转

 

nG

光标移动到第n行

gg

光标移动到第一行

G

光标移动到最后一行

   

w

下一个单词开头

e

下一个单词的结尾

b

前一个单词开头

ge

前一个单词结尾

0或^

到行头

$

到行尾

f<字母>

向后搜索<字母>并跳转到第一个匹配的位置

F<字母>

向前搜索<字母>并跳转到第一个匹配的位置

   

复制及粘贴文本

 

yy

复制有表所在整行 (3yy表示复制3行)

y^

复制至行首

y$

复制至行尾, 含光标所在处字符

yw

复制一个单词

y2w

复制两个单词

yG

复制至文本末

y1G

复制至文本开头

   

p(小写)

粘贴至光标后(下)

P(大写)

粘贴至光标前(上)

替换和撤销

 

r + <待替换字母>

 

R

连续替换, 直到按下Esc

   

快速缩进

 

>>

整行向右缩进

<<

整行向左回退

:set sw=4或者

:set shiftwidth = 8

设置缩进和回退的字符数

sw是shiftwidth的简写

:set sw?

查看缩进字符数

   

调整文本位置

 

:ce

本行内容居中

:ri

本行文本靠右

:le

本行内容靠左

   

查找

 

/<字符串>

向下查找

?<字符串>

向上查找

n

查找下一个

N

查找上一个

n和 N

继续查找命令

   

多文件编辑

 

vim 1.txt 2.txt

默认打开1.txt

:n

编辑下一个文件

:N

编辑上一个文件

:n! 和:N!

强制切换

:e 3.txt

打开新文件3.txt

:e#

返回前一个文件

:ls

列出以前编辑过的文档

:b 2.txt

直接进入文件(或编号)2.txt

:bd 2.txt

删除以前编辑过的列表中的文件项目(或编号)

:e! 4.txt

新打开文件4.txt, 放弃正在编辑的文件

:f

显示正在编辑的文件名

:f new.txt

改变正在编辑的文件名字为new.txt

   

恢复文件(断点或其他未保存文档)

 

vim -r

进入文档

:ewcover 1.txt

恢复

   

选取

 

v(小写)

字符选择, 移动光标, 再次按v取消选取

Shift+v

整行选取

Ctrl + v

矩形选取

d

删除选取区域

y

复制选取区域

   

视窗操作

 

:new

打开一个新的vim视窗

:new 1.txt

打开一个新的vim视窗, 命名为1.txt

:sp 1.txt

打开新的横向视窗来编辑1.txt

:vsp 2.txt

打开新的纵向视窗来编辑1.txt

ctrl+w s

将当前窗口分割成两个水平的窗口

ctrl+w v

将当前窗口分割成两个垂直的窗口

ctrl+w q

即 :q 结束分割出来的视窗。如果在新视窗中有输入需要使用强制符!即:q!

ctrl+w o

打开一个视窗并且隐藏之前的所有视窗

ctrl+w j

移至下面视窗

ctrl+w k

移至上面视窗

ctrl+w h

移至左边视窗

ctrl+w l

移至右边视窗

ctrl+w J

将当前视窗移至下面

ctrl+w K

将当前视窗移至上面

ctrl+w H

将当前视窗移至左边

ctrl+w L

将当前视窗移至右边

ctrl+w -

减小视窗的高度

ctrl+w +

增加视窗的高度

   

vim初级命令的更多相关文章

  1. Vim常用命令总结

    Vim常用命令总结: 下文是小编自己整理的关于日常linux vim编程过程中用的一些常用命令,资料参考鸟哥的 如果有需要的小伙伴可以参考一下!(底部有下载地址) 一. 一般模式可用的按钮说明 1.1 ...

  2. vim基础命令

    2015-06-04 by komilevim基础命令 打开一个文件 vim index.php 几种模式说明Normal Mode也就是最一般的普通模式,默认进入vim之后,处于这种模式.Inser ...

  3. vim常用命令(iOS)

    iOS下vim的使用: vim 的三种模式: .一般模式(默认) .插入模式(写文字) .命令行模式(保存) 各种模式的功能区分如下: .一般模式:控制屏幕光标的移动,字符和光标的删除,移动复制某区段 ...

  4. 实用手册:130+ 提高开发效率的 vim 常用命令

    Vim 是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器.这里收录了130+程 ...

  5. vim常用命令汇总

    vim常用命令汇总: http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 定位 本行第一个字符 ctrl+$ ...

  6. [转]vim常用命令

    [转]vim常用命令 http://www.cnblogs.com/sunyubo/archive/2010/01/06/2282198.html http://blog.csdn.net/wooin ...

  7. vim常用命令 vim键盘布局

    vim键盘布局,vim快捷键 vim常用命令:

  8. vim替换命令

    转载:http://blog.csdn.net/glorin/article/details/6317098 替換(substitute) :[range]s/pattern/string/[c,e, ...

  9. vim的命令集合

    命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令.启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim并 ...

随机推荐

  1. 【BZOJ】1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐(dfs)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1648 水题.. dfs记录能到达的就行了.. #include <cstdio> #in ...

  2. [转]这五种方法前四种方法只支持IE浏览器,最后一个方法支持当前主流的浏览器(火狐,IE,Chrome,Opera,Safari)

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  3. Codeforces Round #296 (Div. 2) B. Error Correct System

    B. Error Correct System time limit per test 2 seconds memory limit per test 256 megabytes input stan ...

  4. poj_3260 动态规划

    题目大意 顾客拿着N种硬币(币值为value[i], 数量为c[i])去买价值为T的东西,商店老板也有同样N种币值的硬币,但是数量不限.顾客买东西可能需要用硬币找零来使得花出去的钱为T,求顾客给老板的 ...

  5. 安装PHP扩展-----phpredis

    一.redis介绍 redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了 memcached的不足,它支持存储的value类型相 ...

  6. 【BZOJ3781、2038】莫队算法2水题

    [BZOJ3781]小B的询问 题意:有一个序列,包含N个1~K之间的整数.他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数 ...

  7. 苹果微信浏览器不能post方式提交数据问题

    form表单中采用post方式提交数据时,在苹果的微信浏览器中无法传递,安卓的可以 如图: 在controller中获取该数据为 null 将表单的提交方式修改为get就能够获取到 现在采用Ajax方 ...

  8. Vue基础-匿名插槽与作用域插槽的合并和覆盖行为

    Vue 测试版本:Vue.js v2.5.13 Vue 文档: <slot> 元素可以用一个特殊的特性 name 来进一步配置如何分发内容.多个插槽可以有不同的名字.具名插槽将匹配内容片段 ...

  9. Struts2中的类型转换与复杂对象配合使用

    form 标签可以被映射到一个属性的属性 manager.java package com.atguigu.struts2.model; import java.util.Date; public c ...

  10. java讲讲几种常见的排序算法

    java讲讲几种常见的排序算法(一) 目录 java讲讲几种常见的排序算法(一) java讲讲几种常见的排序算法(二) 以数组array={6,3,20,8,15,1}为例 冒泡排序 思路:从第0个到 ...