`

Vim 操作中需要掌握的一些基本常识

阅读更多
1. 在linux中为vim设置全局变量
set nu           #显示行号
syntax on        #设置语法高亮显示
set tabstop=4    #设置(软)制表符宽度为4
set softtabstop=4#设置(软)制表符宽度为4
set shiftwidth=4 #设置缩进的空格数为4
set autoindent   #设置自动缩进
set cindent      #设置使用 C/C++ 语言的自动缩进方式:
(centos中是 etc/vimrc中修改,而ubuntu好像是在~/.vimrc 文件中)

2.Linux是严格区分大小写的,这点跟Java很像。个人比较喜欢。

3.使用ctags在vim中辅助查阅文档
Vi大家都很熟悉,某些情况下它是我们在Linux下唯一可用的文本编辑器。其实我们平时所指的VI其实是VIM(Vi Improved,VI增强版)。有人常常拿VIM和emacs比较,VIM尽管不象emacs那样有那么多的功能,但是比emacs更方便、好用。 VIM简单易用,只要看看VIM自带的 vitutor,大约只要20分钟就能掌握VIM的用法。对于Linux下的C/C++的程序员,使用VIM+Ctags的组合来写程序也许是最佳的选择。
1. $ ctags –R *      ($ 为Linux系统Shell提示符)
2. $ vi –t tag       (请把tag替换为您欲查找的变量或函数名)
3. :ts   (ts 助记字:tags list)
4. :tp   (tp 助记字:tags preview)(此命令不常用,可以不用记)
5. :tn   (tn 助记字:tags next)   (此命令不常用,可以不用记)
6. ctrl + ](跳到光标定位的变量申明或者定义中去)
7. ctrl + t(跳转回来)
8.  ctrl + o(直接跳回到原来的变量处)

4. 分裂显示Vim编辑器
vim #打开vim 编译器
:split test.c #这样横向打开另一个窗口
:vsplit test.c #纵向打开另一个窗口
:ctrl + w hjkl #在不同的窗口切换
:close        #关闭某个窗口
:only         #关闭除此之外的其他窗口
:qall  :wall   #退出,保存所有的窗口

5. Vim中的一些基本的比较重要的操作
hjkl #左下上右
x u dd U #分别是删除一个字符 恢复上一次删除操作的内容  删除一行内容  恢复整行的删除操作  撤销撤销操作
i a o#在光标之前/之后/之后下一行 插入字符
I A O#当前行首/行尾/之前一行 插入字符
J #将下一行和当前行合并

----数字 + 命令  #命令执行的次数----

ZZ  # 保存并且退出vim编译器
:q!#放弃修改 并返回控制台
:e! #放弃修改 返回文档内容

w b e ge # 下一个wod /前一个wod / 下一个wod的末尾 / 前一个wod的末尾
$ ^ 0 # 行尾/行前(非空)/行首
数字%     # 跳到大概百分之多少的位置
H  M  L    #到达当前屏幕显示的头/中间/尾 的位置
ctl +u d e y f b   #  分别是向上/下移动屏幕10行  向下/上移动一行 向下/上移动一整屏
zt zb   # 分别是将当前行置顶/底
*  #    #当光标放在某个单词上的时候  这样可以向下/向上找到一样的单词,完全匹配
g*  g#  #匹配在其中的单词.比如  当光标听在the上的时候,thee也四匹配的
f F # 在右、左方向上搜索 字符
? /      # 是在文档中向前/向后查找字符串
    序: 在查找字符串的时候  加上\<  或者  \>  表示字符串的开始和结束 这样  单词便可以完全匹配

d+位移运算符     #删除操作   如:
#d4w 删除当前位置向后的4个单词
  #d$  删除当前位置到行末尾
c+位移运算符    #删除操作并且进入inset模式  这样可以更改内容   如:
#c2wbe    将当前位置后面的两个单词去掉并且被be替换掉

d命令: x dd D dG  删除 一个字符/一行/到行尾/到文件尾
c命令: s cc C cG  修改 一个字符/一行/到行尾/到文件尾
y命令: y yy Y yG  复制 一个字符/一行/一行/到文件尾 #Y是yy,复制一整行
r #替换字符

p  P 命令:#粘贴。实际上x和d、dd等的操作之后  被删除的内容是被保存了起来的,这样使用p的话 就可以put过来

6. 三个技巧
    1)%s/\<four\>/4/gc  #将所有的four替换成4并且在替换每一个的时候询问你
%s对所有的行执行该命令
g替换
c进行询问
    2)将所有的.cpp文件中的GetRes 被 GetAnswer 替换
vim *.cpp   #启动vim  现在将编辑的是第一个文件
qq          #开始宏记录
:%s/\<GetRes\>/GetAnswer/ge #在第一个文件中执行该操作   e表示即使没有找到也不停止宏的执行
:wnext      #保存该文件并转到下一个文件进行编辑
q           #停止宏记录
@q          #执行名为q的宏
999@q       #对其余的文件执行同样的操作
    3)%s/\s\+$//        #删除行尾的空格
分享到:
评论

相关推荐

    vi vim入门简明实例教程

    vi(vim)入门简明实例教程---总览全局 快速入门 本文旨在帮助学习vim的新手快速掌握vim的基本操作。本文整理自《The Linux Command Line》中《A Gentle Introduction To vi》一章。

    vi中文手册vim_user_manual_603.0.pdf

    第二个阶段你开始熟悉一些基本的操作, 这些操作足以应付你日常 的工作, 你使用这些操作时根本就不假思索. 但这些阶段你仍然很少去 碰Vim那晦涩的在线帮助文档. 它在你心里只是notepad, edit一个勉强 合格的替代品. ...

    Vim+基础+进阶+使用手册+源码资源合集

    本教程的设计目标是讲述一些必要的基本命令,而掌握好这些命令,您就能够很容易将vim当作一个通用的万能编辑器来使用了 以我个人学习 vim 的经验来看,通过看文档或看其他人操作其实是很难真正学会 vim 的,你必须...

    Vim用户手册中文版73.pdf

    第二个阶段你开始熟悉一些基本的操作,这些操作足以应付你日常 的工作,你使用这些操作时根本就不假思索。但这些阶段你仍然很少去 1译:毫无疑问,Emacs是其中的一个 2 3 前言 碰Vim那晦涩的在线帮助文档。它在你...

    30分钟让你学会VIM(双语版)

    我觉得vimtutor是众多vim帮助文档中最好的入门教程,其中的每一个知识点都有相应的习题,可以让你在短时间内掌握基本的VIM操作。 本双语版是我练习翻译之作,对于其中出现的任何词义、语法等等的错误还还请大家指正...

    VIM实用技术 技巧、插件和定制

    际使用中逐渐掌握了一些实用技术,在此介绍给大家。——本文并不企图对Vim作全面而系统的介绍,但 也绝非零星地点到即止;而是希望通过介绍一些重要特性和提供相关参考信息,引起大家的兴趣,去深 入挖掘其能力,...

    Hacking Vim

    如果你已经使用Vim超过一年半载,对hjkl,i,a,yy,dd,p,u等命令已经滚瓜烂熟,但是还基本没有自己写过.vimrc文件,又觉得需要将使用Vim的程度提到一个新的高度,看《Hacking Vim》这本书最合适不过了。 我给这本书打4...

    一学就会——安装vim及使用方法

    本课程介绍了在ubuntu系统下如何安装vim,vim的基本操作,以及vim在使用经常过程中遇到的问题。 对新人来说,vim如何退出是个大问题, 对新人来说,vim三种模式,普通模式,编辑模式,命令行模式如何切换 对新人来说...

    操作系统设计报告.doc

    (3)掌握基本的Linux系统命令及执行过程。 (4)了解Linux编程环境和编程工具(vim,gcc,gdb, make,Code-Blocks)。 (5) 了解shell的作用及主要分类,掌握shell脚本程序运行原理及基础语法,学会编写简单的shell ...

    linux操作系统命令大全

    ·4.2 Vim的操作 第五章:Linux的引导过程及原理  本章主要介绍计算机的启动顺序,包括从硬件自检到进入Linux系统当中的各个步骤,还介绍了Linux下的多系统引导工作GRUB(需要掌握GRUB的工作机制)。 ...

    《 V I M 教 程 》

    本教程的设计目标是讲述一些必要的基本命令,而掌握好这 些命令,您就能够很容易将vim当作一个通用的万能编辑器来使用了。 完成本教程的内容大约需要25-30分钟,取决于您训练的时间。 每一节的命令操作将会更改...

    Windows转向Linux的基础操作.docx

    是本人日常使用Linux用于工作的一些基本使用的总结。包括:Linux目录详解、CentOS 7解决firefox及pycharm无法启动ibus中文输入的问题、vi/vim的基本用法、find与grep查找文件、如何查找文件安装路径等内容。作为从...

    大数据实验四-MapReduce编程实践

    1、通过实验掌握基本的MapReduce编程方法。 2、实现统计HDFS系统中多个文本文件中的单词出现频率。 三.实验过程截图及说明 1、在本地创建多个文本文件并上传到Hadoop: (1)创建本地存放文件的文件夹: (2)使用...

    leetcode中国-awesome-wiki-IT:IT基础知识基本素养:laptop::hot_beverage:在线阅读:backhand_index_pointing_right:

    一份涵盖大部分Java程序员所需要掌握的核心知识, 技术面试必备基础知识、Leetcode、计算机操作系统等, 萌芽阶段的 Java 核心知识库, 英文 软件工程技术面试个人指南,包含了算法等内容 国内互联网大厂的面试题 ...

    《Linux系统管理》课程标准.doc

    通过本课程的学习,使学生较为全面地了解Linux操作系统,培养学生运用Linux操作 系统的基本技能,奠定在Linux系统进行嵌入式开发的基础,对学生从事Linux嵌入式开 发、Linux嵌入式产品技术支持等工作岗位的职业能力...

    LINUX 24学时教程

    24学时每次1小时的课程能使你迅速掌握Linux各方面的内容,简单易懂,通俗实用。本书在美国十分畅销,其作者是美国资深计算机书作家。本书适合初、中级读者阅读。 目 录 前言 第一部分 安装和配置 第1学时 准备...

    Linux从零入门实战-2019年七月Z线.txt

    第一阶段 Linux快速入门掌握Linux的常用操作命令 第一讲 Linux介绍 知识点1: Linux发展简史与黑客文化 知识点2: 安装Linux系统, 以Ubuntu虚拟机为例 知识点3: 购买Linux云主机,以阿里云主机为例 知识点4: Linux...

    linux应用与开发基础

    第一章 了解LINUX操作系统.......................................................... 6 1.1 什么是LINUX ................................................................. 6 1.2 LINUX商标的故事...............

Global site tag (gtag.js) - Google Analytics