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. tensorflow 一些好的blog链接和tensorflow gpu版本安装

    pading :SAME,VALID 区别  http://blog.csdn.net/mao_xiao_feng/article/details/53444333 tensorflow实现的各种算法 ...

  2. Azure IaaS限制

    每个云服务最多运行 50 个虚机 每个云服务最多有 150 个输入 endpoints

  3. 动态生成二维码插件 jquery.qrcode.js

    前段时间做项目,需要动态生成一个二维码,于是就在网上找了一下发现一个jquery插件jquery.qrcode.js,所以今天就简单说一下这个插件的使用: jquery.qrcode.js是依赖jqu ...

  4. C#面向对象设计模式纵横谈——1.面向对象设计模式与原则

    一:设计模式简介 每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心. ---- Christopher Alexander 软件设计领域设计模式: 设计模式描述了软件设计过 ...

  5. OI省选算法汇总

    copy from hzwer @http://hzwer.com/1234.html 侵删 1.1 基本数据结构 1. 数组 2. 链表,双向链表 3. 队列,单调队列,双端队列 4. 栈,单调栈 ...

  6. css-css权威指南学习笔记8

    第十二章 列表与生成内容 1.list-style-type:cjk-ideographic生成一二三四的序号 2.不管是ul还是ol,list-style-type无法识别的值都应用为decimal ...

  7. 【BZOJ-3881】Divljak AC自动机fail树 + 树链剖分+ 树状数组 + DFS序

    3881: [Coci2015]Divljak Time Limit: 20 Sec  Memory Limit: 768 MBSubmit: 508  Solved: 158[Submit][Sta ...

  8. bzoj1415[NOI2005]聪聪和可可-期望的线性性

    这道题之前我写过一个巨逗比的写法(传送门:http://www.cnblogs.com/liu-runda/p/6220381.html) 当时的原因是这道题可以抽象出和"绿豆蛙的归宿&qu ...

  9. UVA1585

    #include<stdio.h> #include<string.h> int main(){ int n; ]; scanf("%d",&n); ...

  10. JS中使用MD5加密

    下载 MD5 使用MD5加密的方法:下载md5.js文件,在网页中引用该文件: < script type="text/javascript" src="md5.j ...