From : http://blog.cnrainbird.com/index.php/2012/12/11/gei_xcode_cha_shang_vim_de_chi_bang/
用eclipse的同学开始使用xcode的时候总会问:上下两行交换位置用什么快捷键,选中{怎么自动跳到}。好吧,上下两行交换交换位置在4.x的xcode里确实是有快捷键的:option+command+[向上移;option+command+]向下移。但是这个{}之间的来回跳转我确实没研究出来。于是想着vim里有这样的快捷键,于是google:xcode+vim竟然有个叫作xvim的神器,于是赶紧装了。下面是在这个环境下编程了三四天的感受:
1.作为vim党,用这个插件确实很享受,尤其是习惯了h,j,k,l这些键上下移动
2.{}来回跳转解决了,在大量if,else的时候很有用哟。
3.可以直接直接跳转到哪些行,yy,dd自然不在话下。另外上下两行交换位置也不用按那么多键了,直接ddp搞定。
4.习惯了在vim里输入完东西,然后就:w保存。要知道xcode每次编译运行都会自动保存代码的。so,正在逐渐的适应:run,相当于command+b哟。
唯一不爽的:
选择多行,command+x剪切的时候会崩溃,这问题出现过两次了,还没空看代码解决Bug,不过遇到这种情况用vim的快捷键就好了。
另外就是目前还不支持:20,30d这种指令,准备有空了仔细看下代码给加上。
最后说下安装方法:
1.下载安装包
2.双击安装
3.重启xcode
然后就是have fun了~
Feature List
We try to keep this up to date, but sometimes implementation can get ahead of documentation. If a command is missing, just try it in XVim first - it might already be there!
If you've tried a command and it really is missing, feel free to create an issue and a friendly contributor will pick it up eventually.
Motion
b, B, f, F, gg, G, h, j, k, l, w, W, t, T, 0, $, ^, %, +, -, {, }, (, ), n, N, ', `, M, H, L
Comma and semicolon are supported. Toggle inclusive/exclusive by v is supported.
Mark
File-local marks are supported. Global marks are not yet supported.
The '.' mark (last insertion point) is supported. gi (insert mode at last insertion point) is supported.
Scroll
C-d, C-f, C-e, C-u, C-b, C-y, zz, zb, zt
Jumps
C-o, C-i, gd
If you want to open the file under the cursor you can use 'gd' instead of 'gf' in XVim environment.
Insert
a, A, i, I, o, O
Yank, put and change
d, dd, D, y, yy, Y, c, cc, C, r, s, x, X
Line join
J
Shift block
Normal mode: >, >>, <, <<
Visual mode: >, <
Case change operations
Normal mode: ~, gu, gU, g~
Visual mode: u, U, ~, gu, gU
Undo
u, C-r
Visual
v, V
Ctrl-v is not supported now. (v, V in visual mode to toggle or escape from visual mode is supported)
Visual block mode is currently not supported.
Window manipulation
C-w n | Add new assistant editor |
C-w q | Delete one assistant editor |
C-w s | Add new assistant editor horizontally |
C-w v | Add new assistant editor vertically |
C-w h,j,k,l | Move focus between editors |
Search and Replace
/, ?, #, *, g*, g#, :s, n, N
Regex search is supported using the ICU regex format.
Substitution does not work as Vim does. When you input command following
:%s/xxxx/yyyy/
XVim does replace the first occurence of xxxx IN THE FILE (not each line ). If you want to replace all the occurence of xxxx with yyyy in the file you can specify
:%s/xxxx/yyyy/g
Currently replacing first occurence of xxxx with yyyy each line is not available
Insert mode commands
C-y, C-e
Print status commands
C-g
Text Object
ib, iB, i(, i), i{, i}, i[, i], i>, i<, i", i', iw, iW ab, aB, a(, a), a{, a}, a[, a], a>, a<, a", a', aw, aW
Recording
q, @
Dot command
The dot command ('.') is supported.
Ex commands
: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
: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 here are available. |
:nissue | Invoke "jump to next issue". ":ni" does the samse. |
:pissue | Invoke "jump to previous issue". ":pi" does the same. |
:ncounterpart | Invoke "jump to next counterpart". ":nc" does the same. |
:pcounterpart | Invoke "jump to previous counterpart". ":pc" does the same. |
Options
[no]ignorecase | |
[no]wrap | |
[no]wrapscan | |
[no]errorbells | |
[no]incsearch | |
[no]gdefault | |
[no]smartcase | |
guioptions | See below |
timeoutlen | The time in milliseconds that is waited for mapped key sequence to complete (default 1000) |
laststatus | 0 or 1 : status line is hidden, 2 : status line is displayed (default 2) |
[no]pasteboard | Whether yank/delete/pull uses the standard clipboard |
pasteboard
guioptions
A limited subset of Vim options is implemented.
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: The default timeout value for multi-key mapping completion is 1 seconds (1000 milliseconds). You can change it using 'timeoutlen' option.
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
Known problems
See XVim issue page.
相关推荐
xcode下面可以用vim的插件,喜欢vim的同学千万不可错过
"Xcode的vim插件"是将Vim的功能集成到Xcode中,让习惯于Vim操作的开发者在Xcode环境下也能享受到Vim的便捷。 XVim是这款插件的具体实现,它允许Xcode用户在编辑代码时使用大部分Vim命令。这极大地提升了熟悉Vim的...
XVim 是一个 Xcode 的插件,实现了 vim 的编辑习惯。支持:Xcode4.6Xcode5Xcode6 betaXcode7 标签:XVim
支持xcode 4.3 4.4 亲测可用 只需要解压,用xcode打开Xvim.xcodeproj编译运行下,然后退出xcode,再重启就OK了 如果需要清除插件,则 Uninstall ============= Delete the following directory: $HOME/Library/...
XVim2是Xcode的Vim插件,旨在提供引人入胜的Vim体验,而无需放弃任何Xcode功能。 Xcode 9或更高版本,请按照以下安装说明进行操作。 Xcode 8或以下,您应该使用 已创建。 安装 用您自己的证书签署Xcode。 您可以...
XVim2 XVim2是Xcode的Vim插件。 该插件旨在提供引人入胜的Vim体验,而无需放弃任何Xcode功能。 Xcode 9或更高版本,请按照以下安装说明进行操作。 Xcode 8或更低版本,XVim2 XVim2是Xcode的Vim插件。 该插件旨在提供...
Spacegray.vim, 在 Spacegray Xcode主题上,基于loosely的Vim颜色方案 Spacegray.vimSpacegray是一个用于Vim的colorscheme,它以为例,以Xcode主题为例。命令行选项你可以通过启用以下禁用选项来调整 Spacegray:...
XVim2是一款为Xcode设计的开源插件,它的目标是将经典的Vim编辑模式引入到Xcode中,让熟悉Vim操作的开发者能够在Xcode里享受到与Vim相似的编码体验。通过XVim2,开发者可以使用Vim的导航、编辑和搜索替换等命令,...
太空灰.vim Spacegray 是 Vim 的方案,松散地模仿了 Xcode 的主题。截图以下是 Spacegray 的一些屏幕截图:(使用的字体:Fira Mono 12pt)JavaScript (GUI Vim)Vim (GUI Vim)Ruby(终端 Vim)安装如果你没有首选的...
vim-colors-xcode现在,Vim有许多Xcode 11的颜色方案!在取得 ,该工具包的Vim Colourscheme设计师屏幕截图 提供高对比度的变体xcodedark xcodedarkhc (高对比度) xcodelight xcodelighthc (高对比度)安装使用您...
标题提到的"Xcode自动给方法添加注释",实际上是在讨论Xcode的一个插件——VVDocumenter,这个插件可以方便地帮助开发者快速、一致地为代码添加文档注释。 VVDocumenter-Xcode是由开发者Vim Victor开发的一款强大的...
8. **错误与崩溃日志**:真机调试时,Xcode会记录设备上的错误和崩溃信息,方便定位问题原因。这些日志可以通过Xcode的Console工具查看,也可以导出用于离线分析。 9. **权限管理**:在真机上,开发者可以测试应用...
Xcode 15.4 真机调试包是一个针对苹果开发者的重要工具,它允许开发者在实际设备上测试和调试iOS、iPadOS、macOS、tvOS以及watchOS应用程序。这个版本的Xcode包含了编译器、模拟器、界面设计工具、性能分析工具等一...
本篇文章将深入探讨Xcode 12.1镜像文件的应用,以及如何在Xcode中配置,以便在真机上运行并测试针对iOS 12.1的应用程序。 首先,我们需要理解为什么有些开发者会需要保留对旧版iOS的支持。尽管新版本的iOS通常提供...
### Xcode 版本概述与比较 Xcode 是苹果公司为开发者提供的官方集成开发环境(IDE),主要用于开发 iOS、macOS、watchOS 和 tvOS 的应用程序。随着时间的推移,Xcode 经历了多个版本的迭代和发展。本文将重点介绍 ...
在iOS开发领域,Xcode是Apple官方推荐的集成开发环境(IDE),它为开发者提供了丰富的功能,其中之一就是自动添加注释。"Xcode自动添加注释"这一特性大大提升了编码效率,使得源代码的可读性和维护性得到显著提高。...
标题中的“xcode disk image 10.1”指的是Xcode的一个特定版本,与iOS 10.1设备支持相关的磁盘映像。这个版本的Xcode包含了开发和测试iOS 10.1应用程序所需的所有工具和资源。Xcode是Apple官方的集成开发环境(IDE)...
在iOS和macOS应用开发领域,Xcode是Apple官方推荐的集成开发环境(IDE),它提供了丰富的功能,如代码编辑、调试、构建管理等。然而,对于习惯于使用Visual Studio等其他IDE的开发者来说,Xcode在某些方面可能略显...
《VVDocumenter-Xcode:Xcode6时代的注释利器》 在iOS和macOS的开发过程中,代码注释是至关重要的,它不仅有助于提高代码的可读性,还能方便团队协作,让其他开发者更容易理解你的代码逻辑。VVDocumenter-Xcode是一...