vim

学习运维第三个星期

◇◆丶佛笑我妖孽 提交于 2019-12-23 04:38:02
1、总结vim命令行模式常见快捷方式,以及vim查找,替换的方法   vim [options] [file ..]     +#  打开文件后,让光标处于第#行的行首,(默认行尾)       举例vim +10 /etc/passwd (光标调至第十行)如下图           +/PATTERN打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首       举例vim +/ga /etc/passwd    (让光标置于ga开头的行)如下图        -d file1 file2 ... 比较多个文件        -m file 只读方式打开文件(即使修改后:wq!也无法修改文件)        vim 常用快捷键 按键 功能 命令模式跳转按键 功能 i insert 在光标所在处插入 h 左 l 在当前光标所在行的行首插入 i 右 a append,在光标所在处后面输入 j 下 A 在当前光标所在行的行尾输入 k 上 o 在当前光标所在行的下方打开一个新行 #command 跳转由#指定的个数的字符 O 在当前光标所在行的上方打开一个新行 w 下一个单词的词首 Esc 从插入模式转换到命令模式 e 当前或下一个单词的词尾 : 拓展命令模式 b 当前或前一个单词的词首 Esc,enter 拓展命令模式转到命令模式 #command 由

Why does this function “skip” on line 63?

旧时模样 提交于 2019-12-23 04:35:53
问题 I am trying to modify this terrific VIM script however both the original and my modified version have a maddening bug in which sometimes the cursor is shown in the wrong place. The simplest example that I could make is the 71 line text file below. Note that whitespace is important when copying the file. <?php /** * Some silly method * * @param string Some silly string */ function someFunction() { global $class, $cv, $go, $pae; global $messages, $counters, $ltn; global $sh, $sub, $temp;

fortran_free_source interrupts comment syntax coloring in vim

。_饼干妹妹 提交于 2019-12-23 04:33:38
问题 I am reading fortran 77 code (which I hate!) and in order to keep vim from coloring the lines weirdly after line 72, I included let fortran_free_source=1 before the syntax on line in my .vimrc. However, after doing this, all comments which begin with 'C' or 'c' are not colored the way comments should be colored. Only comments which begin with '!' are colored correctly. How should I edit my .vimrc file so that comments in the old fortran style are colored correctly? 回答1: New answer: Add to

vi/vim 光标移动命令

拈花ヽ惹草 提交于 2019-12-23 04:26:49
vi/vim 光标移动命令 移动光标 上:k nk:向上移动n行 9999k或gg可以移到第一行 G移到最后一行 下:j nj:向下移动n行 左:h nh:向左移动n列 右:l nl:向右移动n列 w:光标以单词向前移动 nw:光标向前移动n个单词 光标到单词的第一个字母上 b:与w相反 e: 光标以单词向前移动 ne:光标向前移动n个单词 光标到单词的最后一个字母上 ge:与e相反 $:移动光标到行尾 n$:移动到第n行的行尾 0(Num):移动光标到行首 ^:移动光标到行首第一个非空字符上去 f :移动光标到当前行的字符a上,nf 移动光标到当前行的第n个a字符上 F:相反 %:移动到与制匹配的括号上去(),{},[],<>等。 nG:移动到第n行上 G:到最后一行 CTRL+G 得到当前光标在文件中的位置 向前翻页:CTRL+F 向下移动半屏:CTRL+G 向后翻页:CTRL+B 到文件开头 gg 到文件结尾 shift+g 存盘: :q! :不存盘退出 :e! :放弃修改文件内容,重新载入该文件编辑 :wq :存盘退出 dw:删除一个单词,需将光标移到单词的第一个字母上,按dw,如果光标在单词任意位置,用daw dnw:删除n个单词 dne:也可,只是删除到单词尾 dnl:向右删除n个字母 dnh:向左删除n个字母 dnj:向下删除n行 dnk:向上删除n行 d$

vi/vim基本使用方法

旧巷老猫 提交于 2019-12-23 04:26:35
转自:http://www.lupaworld.com/?uid-296380-action-viewspace-itemid-118973 vi/vim 基本使用方法 本文介绍了vi (vim)的基本使用方法,但对于普通用户来说基本上够了!i/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、 windows。 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及 Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。 [简单地,可以使用上下左右方向箭头和delete,backspace键来进行位置移动和删除,不管是命令模式还是插入模式] 1、vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命令行模式command mode)

Vim多行缩进技巧

偶尔善良 提交于 2019-12-23 04:26:19
在vim中快速复制粘贴多行 用vim写代码时,经常遇到这样的场景,复制多行,然后粘贴。 这样做: 1. 将光标移动到要复制的文本开始的地方,按 v 进入可视模式。 2. 将光标移动到要复制的文本的结束的地方,按y复制。此时vim会自动将光标定位到选中文本的开始的地方,并退出可视模式。 3. 我移动光标到文本结束的地方,按 p 粘贴。 一、多行 dd 删除一行 ndd 删除以当前行开始的n行 dw 删除以当前字符开始的一个字符 ndw 删除以当前字符开始的n个字符 d$、D 删除以当前字符开始的一行字符 d) 删除到下一句的开始 d} 删除到下一段的开始 d回车 删除2行 二、复制多行 任务:将第9行至第15行的数据,复制到第16行 方法1 :(强烈推荐) :9,15 copy 16 或 :9,15 co 16 由此可有: :9,15 move 16 或 :9,15 m 16 将第9行到第15行的文本内容到第16行的后面 方法2: 光标移动到结束行,ma 光标移动到起始行,输入y'a 光标移动到需要复制的行,输入p,行前复制则输入大写P 方法3: 把光标移到第9行 shift + v 再把光标移动到第15行 ctrl + c 再把光标死去到第16行 p mysql 方法4: 光标移动到起始行,输入ma 光标移动到结束行,输入mb 光标移动到粘贴行,输入mc 然后输入:'a,'b,

vi/vim基本操作

戏子无情 提交于 2019-12-23 04:25:56
1. vi/vim有三种执行模式:命令模式、插入模式和编辑模式。 使用vi/vim打开文件时默认进入命令模式,三种模式之间的切换如上图所示。 2. 插入命令:在命令模式下键入插入命令会进入到插入模式下,插入模式下可以输入文本。 i: 在光标前插入, I: 在光标所在行的行首插入 a:在光标后插入, A:在光标所在行行尾插入 o:在光标所在行上插入新行,O:在光标所在行下插入新行 3. 光标移动命令:在命令模式下键入,改变光标位置 h:光标左移, j:光标下移, k:光标上移, l:光标右移动 H:光标定位到屏幕最上面一行, M:光标移动到屏幕中央, L:光标移动到屏幕最下方 0: 光标移动到行首, $光标移动到行尾 4. 定位命令:在命令模式下键入,定位光标位置 gg:回到文件首行, G:回到文件尾行 :n和nG: 光标定位到文件第n行(:20或20G表示光标定位到第20行) :set nu 或:set number显示行号, :set nonu 取消显示行号 5. 删除命令:在命令模式下键入,删除文件中的内容 x : 删除光标所在字符, nx:删除光标后n个字符 dd:删除光标所在行,ndd:删除光标所在行以后的n行 D:删除光标到行尾的内容 dG:删除光标所在行到文件末尾的内容 :n1,n2d:删除行n1到行n2的内容,包括第n1和n2行都被删除 6. 复制剪切粘贴命令 yy

How to properly install pyclewn for VIM?

左心房为你撑大大i 提交于 2019-12-23 04:24:37
问题 I am interested in improving my workflow, and was hoping to add clewn or pyclewn so I could do debugging in vim. I am using Mac OS X 10.8. Unfortunately, I can't seem to get it installed with the basic instructions. I run the instuctions on this page: http://pyclewn.sourceforge.net/install.html https://sourceforge.net/projects/pyclewn/ mbp:pyclewn-1.10.py2 nate$ python setup.py install --force Failed to run 'gvim' as Vim. Please set the EDITOR environment variable or run 'pyclewn --editor=

Sending input to a screen window from vim

妖精的绣舞 提交于 2019-12-23 04:14:17
问题 I have a vim function set up where I can highlight a line of text and execute in clojure. Here's the function: function! Clojure_execline() let cl = (getline(line("."))) // ... exec 'clojure -e "' . cl . '"' endfunction The problem with this is that it's slow to start and because it spawns a new clojure session every time I run it, I can't call a function I ran previously. Ideally, I'd like for a hidden repl to be running where I could send input from vim and retrieve the output from as well.

How to detect the position of window in vim

倾然丶 夕夏残阳落幕 提交于 2019-12-23 04:05:22
问题 I am trying to customize the mappings for vimdiff and make them similar to winmerge In a vertical 2 way split, I want to map alt-left <a-left> to move current diff to left side and alt-right <a-right> to move current diff to right side. For merging i can use :diffg and :diffp . But I need to know which split i am in so that i can use :diffg/:diffp in that. Is there any way by which i can detect which split i am in. Specifically is there is any way by which i can know whether the cursor is in