windows下vi/vim编辑器的基本操作
windows下vi/vim编辑器的基本操作
1 工具准备(下载gvim)
废话 :因为我们的目的是学习vi/vim操作,所以不必强调使用linux系统下的vi/vim,这里使用的是windows版的gvim(gvim是vi/vim的gui加强版)。
网盘下载 :http://pan.baidu.com/s/1hqfAch2
官网下载 :http://www.vim.org/download.php#pc
2 vi/vim基本入门
2.1 安装
windows下的vi/vim安装很简单的。这里就不啰嗦了。
2.2 基本使用
windows下进入gvim的3种方式
- 点击gvim74直接进入。
- Win+R 然后输入gvim后回车进入。
- Win+R 输入cmd进入控制台,然后在控制台里输入gvim后回车。
提示
- 你也可把gvim换成vim进入控制台版
vi/vim3种基本工作模式:
| 命令行模式 | 控制屏幕光标的移动,字符,字或者行的删除,移动、复制某区域及插入模式,或者到末行模式。 |
| 插入模式 | 只有在插入模式下,才可以做文字输入,按“Esc"键可切换到命令行模式。 |
| 末行模式 | 用于保存文件或退出vi/vim编辑器,也可设置编辑环境,例如:列出行号,查找替换字符串等。 |
必知的移动键:
上
k
左j l右
j
下
上面的是vi/vim下的方向键,使用方法:切换到命令行模式分别按k(上)、j(下)、h (左)、l(右)移动光标。
进入givm后处于命令行模式下,按下“i”进入插入模式(注意是小写的i)此时你可以在你的编辑器里输入自己想要的内容。这里以简单的c程序为例,下面为步骤:
- 进入插入模式
i
- 输入内容
#include <stdio.h>
int main()
{
printf("欢迎来到友歌博客");
return ;
}
- 切换到命令行模式
Esc
- 切换到末行模式
Shift + :
- 保存文件到桌面
w desktop/welcom.c
- 退出
Shift + :
q
按照顺序完成之后你就差不多能简单的使用gvim编辑器了。这里啰嗦一下,学习vi/vim最简单的途径就是使用它,尽量全键盘操作,不使用鼠标。(当你全部工作全用键盘完成,是不是有种黑客的感脚,有点装逼了,呵呵)
小提示:这里的"desktop"就是我们的桌面目录。
3 vi/vim基本命令表
下面为vi编辑器常用的命令,仅供参考。
相关资料:[http://www.vim.org/docs.php]
vi/vim帮助文档:[http://vimdoc.sourceforge.net/htmldoc/help.html]
| 命令 | 描述 |
|---|---|
| vi | 从控制台进入vi编辑器 |
| vi filename | 创建名为filename的文件并进入vi编辑器 |
| 命令行模式 | |
| i | 从光标所在字符前插入 |
| a | 从光标所在的字符后插入 |
| o | 从光标所在行的下面插入空白行 |
| I | 从光标所在行的行首插入 |
| A | 从光标所在行的行末插入 |
| O | 从光标所在行的上面插入空白行 |
| s | 删除光标所在字符进入插入模式 |
| S | 删除光标所在行进入插入模式 |
| Esc | 插入模式切换到命令行模式 |
| k | 类似方向键上 |
| j | 类似方向键下 |
| h | 类似方向键左 |
| l | 类是方向键右 |
| Ctrl+u | 向上移动半页 |
| Ctrl+d | 向下移动半页 |
| Ctrl+b | 向上移动一页 |
| Ctrl+f | 向下移动一页 |
| 0 | 光标移动到所在行的行首 |
| gg | 移动到文本的第一行 |
| G | 移动到文本最后一行 |
| $ | 光标移动到所在行的行为 |
| ^ | 光标移动到所在行的行首 |
| w | 光标跳到下个字的开头 |
| e | 光标跳到下个字的字尾 |
| b | 光标回到上个字的开头 |
| x | 每按一次,删除光标所在位置的一个字符 |
| nx | 如"3x"表示删除光标所在位置开始的3个字符 |
| X | 删除光标所在位置的前一个字符 |
| nX | 如"3X"表示删除光标所在位置的前3个字符 |
| dd | 删除光标所在行 |
| ndd | 如"3dd"表示删除光标所在行开始的3行字符 |
| yw | 将光标所在之处到字尾的字符复制到缓冲区 |
| nyw | 复制n个字符到缓冲区 |
| p | 将缓冲区里的内容写到光标所在位置 |
| r | 替换光标所在处的字符 |
| R | 替换贯标所在处的字符,直到按下"Esc"为止 |
| u | 撤销命令,可多次撤销 |
| Ctrl+g | 列出光标所在行的的行号 |
| nG | 表示移动光标到文本的第n行行首 |
| ZZ | 存盘退出 |
| ZQ | 不存盘退出 |
| 末行模式 | |
| : | 先按Esc进入命令行模式再按Esc进入末行模式 |
| set nu | 开启每行的行号 |
| set nonu | 取消每行的行号 |
| n | n代表数字,表示跳到n行 |
| /关键字 | 先按"/",在输入关键字后回车查找字符(查找),按n查找下一个 |
| ?关键字 | 类似"/关键字" |
| !命令 | windows下运行dos命令,linux下运行shell命令 |
| s /a/b | 将光标所在行的第一个a替换为b |
| s /a/b/g | 将光标所在行的a全部替换为b |
| w | 保存修改的文件 |
| w filename | 保存并命名为filename |
| q | 退出vi |
| q! | 强制退出无法退出的vi |
| wq | 保存并退出 |
Author: 卢小友
Created: 2015-04-23 周四 22:08
Website:luxiaoyou.com (About)
Sina Weibo:http://weibo.com/yougelu
windows下vi/vim编辑器的基本操作的更多相关文章
- vi/vim编辑器的基本操作
vi/vim编辑器的基本操作 Contents 1. 工具准备(下载gvim) 2. vi/vim基本入门 2.1. 安装 2.2. 基本使用 3. vi/vim基本命令表 1 工具准备(下载gvim ...
- Linux环境下vi/vim编辑器常用命令
使用vi文本编辑器 配置文件是Linux系统中的显著特征之一,其作用有点类似于Windows系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式.那么如何使用Linux字符操作界 ...
- vi/vim编辑器基本操作
一.vi/vim的三种模式 vi编辑器有三种模式:命令模式(command mode).插入模式(Insert mode).底行模式(last line mode). 就是你直接用命令(vi 文件名 ...
- linux vi/vim 编辑器学习总结
linux vi/vim 编辑器学习总结 很多时候我们开发人员不可避免的会涉及到项目部署,这个时候使用的就不是我们所熟知的 Windows 和 Mac OS 操作系统了,而是类 Unix 系统.项目部 ...
- 【转】Linux上vi(vim)编辑器使用教程
Linux上vi(vim)编辑器使用教程 ------------------------------------------------------------ ikong ------------ ...
- Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令
Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...
- 【Linux学习】Vi / Vim编辑器—编辑器工作模式、vi编辑操作
Vi / Vim编辑器-编辑器工作模式.vi编辑操作 推荐一个很好的学习指南:http://www.oschina.net/translate/learn-vim-progressively 一.编辑 ...
- vi/vim编辑器操作梳理
1. vi/vim编辑器详细使用讲解 1.1 vi/vim编辑器的3种模式 1.2 vi/vim编辑器操作说明 参数/命令/模式 说明 ###普通模式 :set nu 显示行号 :set non ...
- 第21月第9日 windows下使用vim+ctags+taglist
1. windows下使用vim+ctags+taglist 最近在公司的同事指导下,学会使用这个东西编写代码,效率提高了不少.所以记录下来,方便大家使用. 1. 下载gvim74.exe文件,并安装 ...
随机推荐
- 【Spring】3、BeanFactory 和 ApplicationContext的区别
转自:http://blog.csdn.net/intlgj/article/details/5660587 在spring中,两个最基本最重要的包是 org.springframework.bean ...
- protocol buffer c#
第一.打开vs中的Nuget
- python学习之老男孩python全栈第九期_day004作业
看代码写结果:1. a=[1,2,3,6,"dfs",100]s=a[-1:]print (s) 结果:[100] 2. s=a[-1:0:-1]print(s) 结果:[100, ...
- python-桥接模式
源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 有些类在功能设计上要求,自身包含两个或两个以上变化的因素,即该类在二维或者多维上 ...
- WEB服务器、应用程序服务器、HTTP服务器的区别
WEB服务器.应用程序服务器.HTTP服务器的区别 Web服务器: 基本功能就是提供Web信息浏览服务.它只需支持HTTP协议.HTML文档格式及URL.与客户端的网络浏览器配合.因为Web服务器主要 ...
- 洛谷P4054 [JSOI2009]计数问题(二维树状数组)
题意 题目链接 Sol 很傻x的题.. c才100, n, m才300,直接开100个二维树状数组就做完了.. #include<bits/stdc++.h> using namespac ...
- 火狐hr标签的兼容性问题
想在盒子里加一条白色横线 加了以下代码 页面效果如下<hr style="width:80%;height:1px;border:none;border-top:1px solid # ...
- Mockjs 前端接口数据模拟
在前后端分离的项目中,通常需要启动一个后台服务器来配合前端项目的接口需求.Mockjs的作用是拦截ajax请求并模拟各种数据返回,让前端开发可以更加自由独立. 安装 npm install mockj ...
- Android应用程序进程启动过程(后篇)
前言 在前篇中我们讲到了Android应用程序进程启动过程,这一篇我们来讲遗留的知识点:在应用程序进程创建过程中会启动Binder线程池以及在应用程序进程启动后会创建消息循环. 1.Binder线程池 ...
- ReactNative仿微信朋友圈App
摘要: 欢迎各位同学加入: React-Native群:397885169 大前端群:544587175 大神超多,热情无私帮助解决各种问题. 一.前沿||潜心修心,学无止尽.生活如此,coding亦 ...