vim常用操作命令_在哪个文件里打开:set incsearch-程序员宅基地

技术标签: 文档  ftp服务器  file  firefox  insert  vim  

一 VIM打开文件操作
:sp file1 分屏打开文件
:vsp file1 水平分屏打开文件
:e file1 在当前窗口中打开文件

使用ctrl + w + 方向键进行切换

打开ftp服务器上的文件:
:e ftp://192.168.10.76/abc.txt
保存(如果不存在则创建):
:w ftp://192.168.10.76/abc.txt
读取:
:r ftp://192.168.10.76/abc.txt
以上操作第一次打开时需要输入用户名和密码,以后就不用了,vim 会记住的。(注意:vim 本身并不携带 ftp 客户端,vim 只是调用操作系统提供的 ftp 客户端并捕获它的输出)。


二 vim中进行复制操作基本命令:
:v 进入可视模式,hjkl选中块。y:复制 d:删除/剪切 p:粘贴

yy复制游标所在行整行。或大写一个Y。
nyy或yny复制n行。
y^复制至行首,或y0。不含游标所在处字元。
y$复制至行尾。含游标所在处字元。
yw复制一个word。
y2w复制两个字(单词)。
yG复制至档尾。
y1G复制至档首。
小写p代表贴至游标后(下)。
P大写P代表贴至游标前(上)。
复制第a行到第b行并粘贴到第c行之后的命令 :a,b co c

剪切第a行到第b行并粘贴到第c行之后的命令 :a,b m c

以下是vim的粘贴板的基础知识
1. vim有12个粘贴板,分别是0、1、2、...、9、a、“、+(注:有些系统没有“+”号寄存器,用:reg命令可以查看,包括各个粘贴板里的内容,)。在vim中简单用y只是复制到“(双引号)粘贴板里,同样用p粘贴的也是这个粘贴板里的内容;

2. 要将vim的内容复制到某个粘贴板,需要退出编辑模式,进入正常模式后,选择要复制的内容,然后按"Ny完成复制,其中N为粘贴板号(注意是按一下双引号然后按粘贴板号最后按y),例如要把内容复制到粘贴板a,选中内容后按"ay就可以了,有两点需要说明一下:
* “号粘贴板(临时粘贴板)比较特殊,直接按y就复制到这个粘贴板中了,直接按p就粘贴这个粘贴板中的内容;
* +号粘贴板是系统粘贴板,用"+y将内容复制到该粘贴板后可以使用Ctrl+V将其粘贴到其他文档(如firefox、gedit)中,同理,要把在其他地方用Ctrl+C或右键复制的内容复制到vim中,需要在正常模式下按"+p;
(注:如果使用"+y不能复制粘贴到其他文档,使用sudo apt-get install vim-gnome 安装上vim.gnome再试试)
3. 要将vim某个粘贴板里的内容粘贴进来,需要退出编辑模式,在正常模式按"Np,其中N为粘贴板号,如上所述,可以按"5p将5号粘贴板里的内容粘贴进来,也可以按"+p或Shitf + insert将系统全局粘贴板里的内容粘贴进来。

三 文档格式化操作
gg=G 全文格式化 (gg:全文头部 G:全文尾部 )
:set nu 显示行号

:set nu!取消行号的显示

四 搜索文本

(1)在normal模式下使用/和?     :

        /后跟查找的字符串。vim会显示文本中第一个出现的字符串。
       ?后跟查找的字符串。vim会显示文本中最后一个出现的字符串。

        ubuntu下默认的是incsearch模式(使用:set incsearch设置),就是输完命令后,会自动显示第一个(或最后一个)匹配。
如果输入:set noincsearch 会转到普通模式,不会自动显示第一个匹配,回车后显示所有匹配。高亮所有的匹配后,按n键转到下一个匹配,按N键转到上一个匹配。

(2)搜索特殊匹配

查找单个的 place,键入该单词,并在其前后各加一个空格
/ word  Enter

查找仅出现在行首的 place,在该单词前加一个插字符号^
/^word Enter

查找仅出现在行尾的place,在该单词后加一个货币符号$
/word$ Enter

使用 ^
要逐字搜索这种带有插字符号^或货币符号$的字符,需要在字符前加一个反斜线\,

(3)多文件查询

这里所说的多文件查询,是指在多个文件中查询指定的内容,即英文中所谓的Search in files,而不是查询文件。

im支持两种多文件查询,分别是:vimgrep:grep,前者是内部查询,后者是外部查询。

vimgrep的命令格式为::vim[grep][!] /{pattern}/[g][j] {file}

五 编程应用

当光标在C函数和系统调用上时,按K即可进入man手册页,当应用程序也有这个名字时,先按下2,然后shift+k 即可进入系统man页。
编程主要得借助一些插件来完成操作。

最后推荐个VIM的游戏网站:http://vim-adventures.com/,寓学于乐,相当不错哦!


 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lgp88/article/details/7181697

智能推荐

mysql 转decimal,在MySql中将VARCHAR转换为DECIMAL值-程序员宅基地

文章浏览阅读1.3k次。I have imported a CSV file that contains string values (eg.eating) and floating values (eg. 0.87) into a table in my phpMyAdmin database. After I get ride of all the string values and retain only the ..._mysql decimal转换varchar

python功能模块之psutil_详解Python3.6安装psutil模块和功能简介-程序员宅基地

文章浏览阅读441次。详解Python3.6安装psutil模块和功能简介来源:中文源码网浏览: 次日期:2018年9月2日【下载文档:详解Python3.6安装psutil模块和功能简介.txt】(友情提示:右键点上行txt文档名->目标另存为)详解Python3.6安装psutil模块和功能简介 一、psutil模块1. psutil是一个跨平台库,能够轻松实现获取..._python3.6 -m test.test_utils_push解释

java处理json数组_用Java处理数组-程序员宅基地

文章浏览阅读1.8k次。java8处理数组If a program needs to work with a number of values of the same data type, you could declare a variable for each number. For example, a program that displays lottery numbers: 如果程序需要使用多个相同数据..._json数组 java

ansible安装遇到的问题,不太懂,望大神指教_nothing provides python(abi) = 3.11 needed by ansi-程序员宅基地

文章浏览阅读3.4k次,点赞3次,收藏4次。安装ansible遇到的问题,望大神指点_nothing provides python(abi) = 3.11 needed by ansible-7.2.0-1.el8.noarch

关于LNK2001错误的一些总结 (摘录) - David Hu - 网大博客 - powered by phpwind.net-程序员宅基地

文章浏览阅读1.7k次。导读: 在最开始的编程过程中,最常出现的错误就是LNK2001这个错误,究其原因,其实一句话可以解释:当程序调用函数(function1)时,没有找到function1具体的实现部分。最常见的例子和解释:main or winmain函数:应该是选择工程类型的时候有错误,因为系统会根据subsystem的选项来决定调用main或winmain作为程序的入口函数,如果是console,会选择

让你的开发效率提高1400%的IntelliJ IDEA插件汇总_鲁班大叔 maven插件-程序员宅基地

文章浏览阅读1k次,点赞6次,收藏28次。哈喽,大家好,我是爱学习的莫提。从大二就开始接触并使用IDEA这款软件,现在它同样是我工作中的主力开发工具。对于Java开发人员来说,掌握这款软件的基本使用也已经是必备的工作技能。这款软件相比于Eclipse来说也是有非常多的优点,更加的高效,也更加的稳定。IDEA的插件市场也是非常的丰富!吸引了非常多的开发者从Eclipse来过渡到IDEA,那么正所谓「工欲善其事,必先利其器」,经过我这几年的使用,以及工作之后和同事的一些交流分享。我总结出了很多可以让我们的使用体验和开发效率得到很大程度提升的。_鲁班大叔 maven插件

随便推点

get请求一个html页面,get请求代码-程序员宅基地

文章浏览阅读2.5k次。CSS布局HTML小编今天和大家分享示例代码?想向服务器发送带参数的数据。参数如何传递?传递的方式有以下四种: 第一种:直接在URL后面加参数: localhost:21811/Handler1.ashx?id=1&name="abc"; 第二种:用超链接的方法传递参数:当点击超链接的时候,首先会跳转: localhost:21811/Handler1.ashx页面。关于java web中..._get一个页面

Multsim 电路仿真软件中交流电压表与电流表读数不准确的原因处理_multisim汉化版交流电表读数不准-程序员宅基地

文章浏览阅读1.6w次,点赞44次,收藏38次。Multsim14.2 电路仿真软件中交流电压表与电流表读数不准确的原因处理看图,读数不正确问题原因处理方案修改成以下内容并保存成功处理看图,读数不正确问题原因这是汉化引起的小BUG处理方案修改汉化文件夹中的 PRP.ewstr 大约第80多行左右将交流改为 AC将直流改为 DC修改成以下内容并保存** IDS_MODECMB_TXT_AC=>AC< **..._multisim汉化版交流电表读数不准

ACM比赛中如何加速c++的输入输出?如何使cin速度与scanf速度相当?什么是最快的输入输出方法?_c++用cin怎么和scanf一样快-程序员宅基地

文章浏览阅读1.4w次,点赞25次,收藏73次。在竞赛中,遇到大数据时,往往读文件成了程序运行速度的瓶颈,需要更快的读取方式。相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头,于是从此以后发誓不用cin读数据。还有人说Pascal的read语句的速度是C/C++中scanf比不上的,C++选手只能干着急。难道C++真的低Pascal一等吗?答案是不言而喻的。一个进阶的方法是把数据一下子读进来,然后再转化字符串,这种方法传说中很不错,_c++用cin怎么和scanf一样快

江苏省2018事业单位计算机统考,2018年江苏上半年事业单位统考报名链接-程序员宅基地

文章浏览阅读113次。原标题:2018年江苏上半年事业单位统考报名链接江苏省属事业单位笔试报名已经开始,笔试定于4月21日。为了方便各位考生报名。连云港天翔教育Q群:637640535现汇总江苏省属事业单位报名以及各地市报名链接。其中最早报名的是省属事业单位3月25日,报名最迟的是淮安事业单位,苏州虎丘事业单位报名,4月8日起报名3月25日报名链接2018年江苏省属事业单位笔试报名网址http://222.190.11..._2018上半年江苏计算机事业编

Node.js调试大法 — v8_inspector_v8 sendinspectormessage-程序员宅基地

文章浏览阅读1.2k次。Node.js 调试基本原理Node.js 提供了强大的Debugger模块,使用方式如下:使用debug模式时,Node.js 会启动Debugger模块,然后通过监听默认 5858 端口将命令行的输入传送到内建调试模块以达到调试的目的。同时支持--debug 和 --debug-brk参数。这两个参数只会启动Debugger监听模式,不会进入命令行调试模式,而且前者会运行完所有代码,通常可用于..._v8 sendinspectormessage

[译]深度神经网络的多任务学习概览(An Overview of Multi-task Learning in Deep Neural Networks)...-程序员宅基地

文章浏览阅读857次。译自:http://sebastianruder.com/multi-task/1. 前言在机器学习中,我们通常关心优化某一特定指标,不管这个指标是一个标准值,还是企业KPI。为了达到这个目标,我们训练单一模型或多个模型集合来完成指定得任务。然后,我们通过精细调参,来改进模型直至性能不再提升。尽管这样做可以针对一个任务得到一个可接受得性能,但是我们可能忽略了一些信息,这些信息有助于在我们关..._clustered multi-task learning

推荐文章

热门文章

相关标签