https://download.csdn.net/download/qccz123456/10567716

vim三种模式:命令模式、插入模式、底行模式。使用ESC、i、:切换模式。

vim [路径/]目标文件名:若存在则打开,不存在则新建并打开。

基本步骤:1. vim hello.c    2. 键入i    3. 编辑    4. 键入[ESC]    5. 键入:wq保存退出

命令模式:用于复制、粘贴、删除、插入、撤销、移动等命令

移动:  h、j、k、l--移动左、下、上、右光标(j比较像↓)

数字0--到本行行头                     $--到本行行尾

^--到本行第一个非空格字符     g_--带本行最后非空格字符

gg--到文件第一行                       G--到文件最后一行(注意是大写)

数字nG--到第n行(冒号:数字n--也可以到指定n行)

w--到下一个单词开头                 e--到下一个单词结尾

W--到下一个空格前                    E--到下一个空格后

%--匹配括号移动(包括()、[ ]、{ },需要先移动到某个括号上)

*/#--移动到与当前光标所在单词相匹配的下一个/上一个单词

插入:  i--在光标前插入文本                a--在光标后插入文本

o--在当前行后插入新行           O--在当前行前插入新行(大写)

删除:  x--删除当前光标所在字符

dd--删除当前光标所在行,删除的内容在剪切板中

[n]dd--删除当前光标所在行开始的n行

复制:  yy--复制当前光标所在行

[n]yy--n为数字,复制当前光标开始的n行

粘贴:  p--粘贴剪切板到光标所在行

搜索:  /name<enter>--查找光标之后的名为“name”的字符串,后按n,字符间跳转

撤销:  u--撤销(注意是小写)                       Ctrl+r--回退

替代:  r--替代当前光标处的字符                     cw--替代从光标处所在位置后到一个单词结尾的字符

:%s/foo/bar/g  将文中所有foo替换成bar

其他:gU--单词变大写gu--单词变小写

剪切==删除+粘贴

底行模式:

:w 保存(后跟文件名,可文件另存为)

:q 退出vi(系统会提示保存修改)

:q! 强行退出(对修改不做保存)

:wq 保存后退出

:set number 显示行号   :set nonumber 取消行号

:!<系统命令>     执行一个系统命令并显示结果,按<enter>返回

:!sh        切换到命令行,按Ctrl+d返回vim

:help <command>  显示vim相关命令帮助

:e <path/file>打开一个文件      :bn和:bp上下文件之间切换(:n到下一个文件)

更好更快更强

数字n<command>:重复command命令数字n次,3dd、2p

.(小数点):重复上一次命令

v:可视化操作(输入命令前先输入v)

块操作:Ctrl+v,移动光标选择对象,大写的 I,<command>,如#或//,esc两次,生效

自动缩进:Ctrl+v,移动光标选择行,=

左右缩进:Ctrl+v,移动光标选择行,</>

多行注释:Ctrl+v,选择多行,大写的 I,输入#,esc两次

多行取消注释:Ctrl+v,选择多行需要删除的部分,d

自动提示:Ctrl+n

设置tab缩进为4个空格:vim /home/hostname/.vimrc

set ts=4
set expand tab
set smart indent
set tabstop=4
set shiftwidth=4
set softtabstop=4

在vim内打开新的文件输入  :e  myFile.c

分屏显示:    上下分  :split    简写  :sp      左右分  :vsplit  简写  :vsp

Ctrl+ww——依次向后切换到下一个窗格中

vim简明教程--半小时从入门到精通的更多相关文章

  1. Vim简明教程【CoolShell】

    vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...

  2. Vim简明教程【CoolShell】(转)

    vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...

  3. 转: vim简明教程

    vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...

  4. Vim 简明教程【转载】

    简明 Vim 练级攻略 第一级 – 存活 安装 vim 启动 vim 什么也别干!请先阅读 当你安装好一个编辑器后,你一定会想在其中输入点什么东西,然后看看这个编辑器是什么样子.但vim不是这样的,请 ...

  5. Vim简明教程【CoolShell】(转)

    m的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progressiv ...

  6. vim 简明教程(转自飘过的小牛)

    vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...

  7. vim简明教程

    在shell中新建一个文件 # vim a.txt vim有三种模式:一般模式.插入模式.底行模式 三种工作模式 1.命令模式 移动光标 hjkl yy 复制 nyy 从光标向下复制n行 0 移动光标 ...

  8. linux学习之——vim简明教程

    摘自  http://blog.csdn.net/niushuai666/article/details/7275406 ——————————正文开始—————————— 你想以最快的速度学习人类史上 ...

  9. vim简明教程(附快速记忆方法)

    vim分为四种模式: 普通模式(normal mode) 插入模式(insert mode) 可视模式(visual mode) 命令模式(excute mode) 下面整理了常用的快捷键和记忆方法( ...

随机推荐

  1. Void pointers in C

    In this article we are learning about “void pointers” in C language. Before going further it will be ...

  2. k8s 删除ns 卡住的解决办法

    在某些情况下,在k8s中会无法删除某个namespace,它会一直卡在terminating状态下.解决这个问题的步骤为: kubectl api-resources --verbs=list --n ...

  3. 1004: [递归]母牛的故事(python):(本地测试正确;但提交不对!!??)求教

    时间限制: 1Sec 内存限制: 128MB 提交: 28438 解决: 8320 题目描述 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年 ...

  4. app测试自动化之测试套框架构造之公共部分以及测试用例导包二

    封装的公共部分:commonfrom time import sleepdef com(dr): #点击backup dr.find_element_by_android_uiautomator\ ( ...

  5. P5019 铺设道路

    #include<bits/stdc++.h> using namespace std; ]; ; int main() { cin>>n; ;i<=n;i++) cin ...

  6. 【MapReduce】一、MapReduce简介与实例

    (一)MapReduce介绍 1.MapReduce简介   MapReduce是Hadoop生态系统的一个重要组成部分,与分布式文件系统HDFS.分布式数据库HBase一起合称为传统Hadoop的三 ...

  7. 【Linux开发】linux设备驱动归纳总结(三):1.字符型设备之设备申请

    linux设备驱动归纳总结(三):1.字符型设备之设备申请 操作系统:Ubunru 10.04 实验平台:S3C2440 + linux2.6.29内核 注:在今后驱动程序的学习中经常需要查看内核源代 ...

  8. nginx - 反向代理 - 配置文件模板 - nginx 代理tcp的服务 - 部署示意图

    danjan01deiMac:~ danjan01$ cat /usr/local/etc/nginx/nginx.conf|grep -v '^$' worker_processes 1; even ...

  9. 一篇文章搞懂python2、3编码

    说在前边: 编码问题一直困扰着每一个程序员的编程之路,如果不将它彻底搞清楚,那么你的的这条路一定会走的格外艰辛,尤其是针对使用python的程序员来说,这一问题更加显著, 因为python有两个版本, ...

  10. Linux 防火墙开放特定端口 (iptables)

    1.查看状态:iptables -L -n2.直接编辑:vi /etc/sysconfig/iptables3.端口开放:-A INPUT -m state --state NEW -m tcp -p ...