Xvim常用命令

vim三种可以选择的模式

     Normal mode:Vim的缺省模式,在该模式下运行命令。
    Insert mode:在该模式下插入/写文本。
    Visual mode:在该模式下可以选择一块文本区域,并对该区域内的文本执行命令或编辑操作。

     Vim 允许你在文本中放置自定义的标记。命令 "ma" 用 a 标记当前的光标位置。你可以在文本中使用 26 个标记(a到z)。这些标记是不可见的,只是一个由 Vim 记住的位置

   Xvim 中支持文件本地标记,但是不支持全局标记."."标记以及gi已被支持

   b或B :光标左移一个字至字首

   h :光标左移一个字符
   l :光标右移一个字符 

   k或Ctrl+p:光标上移一行
   j或Ctrl+n :光标下移一行

   w或W :光标右移一个字至字首

   ) :光标移至句尾
   ( :光标移至句首
   }:光标移至段落开头
   {:光标移至段落结尾

   H :光标移至屏幕顶行
   M :光标移至屏幕中间行
   L :光标移至屏幕最后行
   0:(注意是数字零)光标移至当前行首
   $:光标移至当前行尾

   “^”:移动到光标所在行的行首

     G     移动到这个文件的最后一行(常用)
   nG      n为数字。移动到这个文件的第n行。例如20G则会移动到这个文件的第20行(可配合:set nu)
   gg     移动到这个文件的第一行,相当于1G(常用)
    n<Enter>  n为数字。光标向下移动n行(常用)

   % 括号匹配

   

   Ctrl + d 向下滚动半屏

   Ctrl + u 向上滚动半屏

   Ctrl + f 向下滚动一屏

   Ctrl + b 向上滚动一屏

    zz/zb/zt: 光标所在的行将被移到屏幕的中间(zz), 底部(zb), 最上面(zt)

   ctrl+i   向前跳到前几次光标位置
   ctrl+o  向后跳到后几次光标位置

   gd  如果要打开当前光标位置的定义文件,在Xvim中使用gd代替gf

    

   

     i 在当前位置生前插入

    I 在当前行首插入

    a 在当前位置后插入

     A 在当前行尾插入

    o 在当前行之后插入一行

     O 在当前行之前插入一行


    x:剪切当前字符到剪贴板。

    X 删除当前字符的前一个字符。X=dh

    dd 删除当前行

    D 删除当前字符至行尾。D=d$

    d:剪贴选择的内容到剪贴板

    dd:剪切当前行

   y:拷贝选择的内容到剪贴板

   yy:拷贝当前行

   Y:拷贝当前行

   c:剪贴选择的内容到剪贴板并且进入插入模式。

   cc:剪切当前行并且进入插入模式

   C:和 D 类似,最后进入插入模式

  r            修改光标所在字符

   J     你可以把两行连起来,这意味着两行间的换行符被删除了

  gu或者gU   形象一点的解释就是小u意味着转为小写;大U意味着转为大写.剩下的就是对这两个命令的限定(限定操作的行,字母,单词)等等


  u或者Ctrl+r   撤销操作

  v或者V   切换Visual mode模式

  

/text  查找text,按n健查找下一个,按N健查找前一个。

?text  查找text,反向查找,按n健查找下一个,按N健查找前一个。

s             替换

g            替换全部

n            下一个

N           前一个

支持icu格式正则表达式

下面的命令不能工作

:%s/xxxx/yyyy/

Xvim不能替换每行首个出现的单词,下面是替换全部的出现的单词

:%s/xxxx/yyyy/g


文本对象选择

这里是一系列只能在可视模式或操作符后使用的命令。这些命令或以 "a" 打头,代表选
择一个 ("a"n) 包含空白的对象;或以 "i" 带头,代表选择内含 ("i"nner) 对象: 它们
不包含空白。另外,空白本身也是内含对象。这样,"内含" 对象总比 "一个" 对象选择
较少的文本。
aw                      "一个单词",选择 [count] 个单词 (见 |word|)。
                        包括开头或拖尾的空白,但不单独计算。在可视面向行的模式
                        下,"aw" 切换到可视面向字符的模式。


                                                      
iw                      "内含单词",选择 [count] 个单词 (见 |word|)。
                        单词之间的空白也被算为一个单词。在可视面向行的模式下,
                        "iw" 切换到可视面向字符的模式。


                                                      
aW                      "一个字串",选择 [count] 个字串 (见 |WORD|)。
                        包括开头或拖尾的空白,但不单独计算。在可视面向行的模式
                        下,"aW" 切换到可视面向字符的模式。


                                                        *v_iW* *iW*
iW                      "内含字串",选择 [count] 个字串 (见 |WORD|)。
                        字串之间的空白也被算为一个字串。在可视面向行的模式下,
                        "iW" 切换到可视面向字符的模式。


                                                       
as                      "一个句子",选择 [count] 个句子 (见 |sentence|)。
                        可视模式下它切换为面向字符的模式。


                                                       
is                      "内含句子",选择 [count] 个句子 (见 |sentence|)。
                        可视模式下它切换为面向字符的模式。


                                                      
ap                      "一个段落",选择 [count] 个段落 (见 |paragraph|)。
                        特例: 空白行 (只包含空白的行) 也被视为段落边界。
                        可视模式下它切换为面向行的模式。


                                                        
ip                      "内含段落",选择 [count] 个段落 (见 |paragraph|)。
                        特例: 空白行 (只包含空白的行) 也被视为段落边界。
                        可视模式下它切换为面向行的模式。


a]                                            
a[                      "一个 [] 块",选择 [count] 层 '[' ']' 块。为此,先反向
                        查找第 [count] 个未匹配的 '[',然后查找其相应的 ']'。
                        两者之间的文本,包括 '[' 和 ']',都被选择。
                        可视模式下它切换为面向字符的模式。


i]                                             
i[                      "内含 [] 块",选择 [count] 层 '[' ']' 块。为此,先反向
                        查找第 [count] 个未匹配的 '[',然后查找其相应的 ']'。
                        两者之间的文本,但不包括 '[' 和 ']',被选择。
                        可视模式下它切换为面向字符的模式。


a)                                                     
a(                                                   
ab                      "一个块",选择 [count] 层块,从 "[count] [(" 到其相应
                        的 ')',包括 '(' 和 ')' (见 |[(|)。它并不包括括号之
                        外的空白。
                        可视模式下它切换为面向字符的模式。


i)                                                     
i(                                                    
ib                      "内含块",选择 [count] 层块,从 "[count] [(" 到其相应
                        的 ')',但不包括 '(' 和 ')' (见 |[(|)。
                        可视模式下它切换为面向字符的模式。


a>                                            
a<                      "一个 <> 块",选择 [count] 层 <> 块,从反向第 [count]
                        个未匹配的 '<' 到其匹配的 '>',包括 '<' 和 '>'。
                        可视模式下它切换为面向字符的模式。


i>                                             
i<                      "内含 <> 块",选择 [count] 层 <> 块,从反向第 [count]
                        个未匹配的 '<' 到其匹配的 '>',但不包括 '<' 和 '>'。
                        可视模式下它切换为面向字符的模式。


a}                                                     
a{                                                     
aB                      "一个大块",选择 [count] 层大块,从 "[count] [{" 到其
                        相应的 '}',包括 '{' 和 '}' (见 |[{|)。
                        可视模式下它切换为面向字符的模式。


i}                                                     
i{                                                    
iB                      "内含大块",选择 [count] 层大块,从 "[count] [{" 到其
                        相应的 '}',但不包括 '{' 和 '}' (见 |[{|)。
                        可视模式下它切换为面向字符的模式。

记录宏

q{寄存器},  记录开始

@  播放记录的命令




扩展命令

命令 命令
:w[rite] 保存
:wq 保存退出
:q[uit] 退出
:s[ubstitute] 字符串替换
:set 设置一些环境变量
:map 所有模式的映射
:nmap normal mode映射
:vmap visual mode映射
:imap insert mode映射
:omap Maps operator pending mode

XVim 本身命令

命令 说明
:run xcode代码运行
:make 构建xcode代码
:xhelp 光标位置快速帮助
:xccmd 执行xcode菜单

Options

命令 说明
[no]ignorecase 忽略大小写
[no]wrap 设置自动换行
[no]wrapscan 循环搜索
[no]errorbells 出错时响铃
[no]incsearch 修改一个文件后,自动进行备份,备份的文件名为原文件名加“~“后缀
[no]gdefault  行内替换
[no]smartcase 有一个或一个以上大写字母的时候对大小写敏感
guioptions 参考下表


选项 说明
r 显示垂直滚动条
b 显示水平滚动条

可以通过修改 .xvimrc修改这些设置

映射

Xvim 支持5中映射命令: map, nmap, vmap, imap, omap


例如

nmap n e
imap ' <Esc>
nmap u 5jiInsert some text<Esc>
nmap ,w :w<cr>

.xvimrc

一个配置文件象 ~/.xvimrc. 每行执行一个扩展命令. 这里可以配置映射.

Example:

set ignorecase
set wrapscan
set guioptions=r
nmap n e


   

    


    

Ex commands

Command Note
:w[rite]  
:wq  
:q[uit]  
:s[ubstitute]  
:set See Options for supported variables
:map Maps globally across XVim, in all modes
:nmap Maps normal mode
:vmap Maps visual mode
:imap Maps insert mode
:omap Maps operator pending mode

XVim original commands

Command Note
:run Invoke Xcode's 'run' command
:make Invoke Xcode's 'build' command
:xhelp Show quick help for current insertion point
:xccmd Invoke arbitrary command in Xcode's actions in its menu. Takes one argument as its action to invoke. Actions hereare available.

Options

Command Note
[no]ignorecase  
[no]wrap  
[no]wrapscan  
[no]errorbells  
[no]incsearch  
[no]gdefault  
[no]smartcase  
guioptions See below

guioptions

A limited subset of Vim options is implemented.

Option Effect
r Show vertical scrollbar
b Show horizontal scrollbar

These changes only take effect on startup, meaning this option is only effective if used from within your .xvimrc.

Key mapping

XVim supports five map commands: map, nmap, vmap, imap, omap. A map command can change one or more keystrokes into one or more key strokes.

Note: For multi-key mapping timeout is not supported.

Examples:

nmap n e
imap ' <Esc>
nmap u 5jiInsert some text<Esc>
nmap ,w :w<cr>

.xvimrc

At startup XVim looks for ~/.xvimrc. Each line in this file is executed as an ex command. This allows you to configure mappings and options.

Example:

set ignorecase
set wrapscan
set guioptions=r
nmap n e

你可能感兴趣的:(Xvim常用命令)