vim的简单使用

Content

  • 三种模式
  • 光标移动
  • 查找与替换
  • 删除、复制和粘贴
  • 命令行
  • 块选择
  • 多文件编辑
  • 多窗口显示
  • 中文编码问题
  • 语系转换和

三种模式

vim可以分为一般模式、编辑模式和命令行模式,各种模式的转换如下:

一般模式 ---> 编辑模式

i    当前表示符前
o 当前提示符下一行
a 当前提示符下一个
r 向后擦出

一般模式 ---> 命令行模式 :执行命令,/向下搜索,?向上搜索

编辑模式 ---> 一般模式 使用ESC键退出

移动光标

h,j,k,l    分别是左移,下移,上移,下移
0或者Home 移动到本行最前
$或者End 移动到本行最后
1G或gg 移动到第一行
nG 移动到第n行
G 移动到最后一行
n+space 向后移动n个字符
n+Enter 向下移动n行

查找和替换

/word    向下查找word
?word 向上查找word
n 移动到下一个目标
N 移动到上一个目标
:n1,n2s/word1/word2/g 从第n2到n2行将word1替换为word2
:1,$s/word1/word2/g 从第一行到最后将word1替换为word2
:1,$s/word1/word2/gc 从第一行到最后将word1替换为word2

复制和粘贴

X    向前删除
x 向后删除
dd 删除光标所在行
ndd 删除光标向下n行
d0 删除光标处到最前
d$ 删除光标出到最后
d1G 删除光标出到第一行
dG 删除光标处到最后一行 yy 复制光标所在行
nyy 复制光标下n行
y0 复制从光标出到本行最前
y$ 复制从光标处到本行最后
y1G 复制从光标处到第一行
yG 复制从光标处到最后 P 复制到光标上一行
p 复制到光标下一行 u 复原上一个操作
Ctrl+r 重复上一个操作

命令行

:q[!]    退出,加感叹号强制退出
:w[!] 保存,加感叹号强制保存
:wq[!] 保存退出,加感叹号强制
ZZ 若有改动保存退出,若无改动直接退出
:w[filename] 另存为filename
:r[filename] 将filename内容引入光标后边
:n1,n2 w filename 将n1到n2内容保存到filename中
:!command 暂时离开vi执行命令command

块选择

v    字符选择
V 行选择
Ctrl+v 块选择,长方形选择数据
y 复制选中块
d 删除选中块

多文件编辑

vim filename1 filename2
:n 编辑下一个文件
:N 编辑上一个文件
:files 列出目前vim打开的所有文件

多窗口显示

:sp filename    将另一个文件打开在另一个窗口
:sp 将本文件再次打开在另一个窗口
Ctrl+w+k/上 上一个窗口
Ctrl+w+j/下 下一个窗口
Ctrl+w+q 关闭当前窗口

中文编码问题

DOS与linux段行字符

在dos中CR与LF都是段行,在linux中只有LF

dos2unix [-kn] file newfile
unix2dos [-kn] file newfile
-k 保留源文件的日期
-n 保留源文件

语系转换和查看文件编码

    iconv --list:输出iconv支持的编码
  iconv -f 原本编码 -t 新编码 [-o newfile]
file -bi filename
  :set fileending

简单配置

set smarttab
set tabstop=4
set shiftwidth=4
set expandtab
set autoindent
set nu

Referrences

[1] 摘自《鸟哥的私房菜》第三篇,人民邮电出版社

vim的使用与配置的更多相关文章

  1. 为了让vi命令也可以使用vim的配置,需要修改 vi /etc/bashrc 增加一行 alias vi='vim'此时,经过上面配置已经可以显示语法高亮了

    为了让vi命令也可以使用vim的配置,需要修改 vi /etc/bashrc 增加一行 aliasvi='vim'此时,经过上面配置已经可以显示语法高亮了

  2. ubuntu16.04下vim的安装与配置

    一.安装vim 使用命令 $ sudo apt-get install vim  来安装vim,安装后的vim需要进行一些配置,不然使用起来会有些不方便,比如不会自动缩进. 二.配置vim 使用命令  ...

  3. Vim 插键及配置

    如果你觉得这个页面广告太多,欢迎移步博客阅读:Vim 插键及配置 编辑器之神 -- Vim 平日使用vim经常编辑文件,想想使用时的痛点,决定研究一下插件的使用. Vim的扩展通常也被成为bundle ...

  4. 在vim中安装及配置NERDTree插件

    使用Vundle插件安装,在.vimrc中加入以下代码: Plugin 'scrooloose/nerdtree' 打开vim,输入命令如下: :BundleInstall 等待安装完毕 配置NERD ...

  5. Vim:gvim安装配置(windows)

    Vim:gvim安装配置(windows) 一.gvim的特点: vim要求全部键盘操作,而gvim可以使用鼠标进行可视化操作,即gvim是vim的图形化界面: 二.gvim安装: 下载地址:http ...

  6. Vim常用命令及配置方案

    Vim常用命令及配置方案   几句话 很久之前就接触到vim,初学那阵觉得vim很酷炫,但确实对新手不是很友好.我也就简单看了下基本操作就上手了,但又不是长期在vim下工作,这就导致了每一次重新使用v ...

  7. LINUX操作系统VIM的安装和配置

    VIM的安装   在命令行敲入"vi"后按"tab"键,可以看到目前系统中只安装了vi和vim.tiny. vim是从VI发展而来的一个文本编辑器,功能更强大. ...

  8. vim 标准环境的配置

    最近刚刚从IDE转到了vim,很多习惯不一致,特地配置了一下vim环境.在网上找了大神的帖子,怕忘记了,特此纪念. 传送门     http://www.cnblogs.com/ma6174/arch ...

  9. Ubuntu下VIM的安装及其配置——Linux篇

    一.Ubuntu系统默认内置: 实际上ubuntu默认没有安装老版本的vi,只装了vim.vi是vim.tiny(vim的最小化版本,不含 GUI,并且仅含有一小部分功能,并且默认与vi兼容.此软件包 ...

随机推荐

  1. .NET MVC实现多图片上传并附带参数(ajaxfileupload)

    做网站呢,都免不了要做图片上传. 还记得去年做微信的时候用WebAPI+ajaxfileupload.js做了一个能够附带参数上传的功能,博文地址:.NET WebAPI 实现图片上传(包括附带参数上 ...

  2. C 语言学习 第12次作业总结

    作业总结 本次课堂的内容为字符串相关的几个函数还有结构体. 字符串相关函数 在此之前的课程中,输入主要都是使用scanf这个函数.而在这节课上,冯老师讲解了字符串获取函数gets.在不需要控制符的情况 ...

  3. ie11的DOM管理器报错

    IE11 Windows7下F12 DOC资源管理器不能用Exception in window.onload: Error: An error has ocurredJSPlugin.3005--- ...

  4. float 对整形的取余运算

    取余是针对整形的,但是有时候一些特殊需求,我们需要 float 型对整形取下余数.比如,将角度化到 0- 360 范围内. 今天看到 lua 的实现方式: a % b == a - math.floo ...

  5. css权威指南学习笔记

    2016-08-03 1,继承 一般大多数框模型属性都是不能继承的.如:padding .margin .border .background 都不能继承. 继承值,完全没有特殊性.(就是优先级最低) ...

  6. Java使用Fork/Join框架来并行执行任务

    现代的计算机已经向多CPU方向发展,即使是普通的PC,甚至现在的智能手机.多核处理器已被广泛应用.在未来,处理器的核心数将会发展的越来越多. 虽然硬件上的多核CPU已经十分成熟,但是很多应用程序并未这 ...

  7. UML大战需求分析--阅读笔记01

    本次阅读的书籍是<UML大战需求分析>,看了前两章的内容:1 大话UML,2绞尽脑汁的需求分析.这两章内容关联不大,分开描述. 第一章:大话UML 本章主要概述UML是什么,有什么内容.U ...

  8. [Java] Maven 建立 Spring MVC 工程

    GIT: https://github.com/yangyxd/Maven.SpringMVC.Web 1. 建立 WebApp 工程 下一步: 下一步: 选择 maven-archetype-web ...

  9. weblogic安全漫谈

    今天,我来与大家探讨一下关于weblogic的话题 在进入内网后,如图: 当我们看到7001时,我们就可以测试weblogic反序列化漏洞,如图: 证明,漏洞存在,查看一下权限,如图: 理论上,我们可 ...

  10. nginx问题收集

     1.问题: 用户在微信授权成功之后, 跳转到网页时, 出现nginx的错误界面, 复制当前这个链接在网页中打开则正常显示, 同时nginx日志文件中报错(upstream sent too big ...