在Emacs中使用Windows键作为Meta非常有用,Vim中有没有相应的方法?
你绝对可以,在终端中甚至可以使用它作为元键(我没有找到单独使用它的方法)。
Edit your .vimrc file with vim. Say you want to remap Win+q
in normal mode to quit vim.
Simply add your mapping and, when trying to indicate your shortcut, press Ctrl+V
, then Win+q
.
这将会向你的文件中添加类似于^X@sq
的内容(但不要直接输入,^X
是一个特殊字符)。
最终,你的线应该看起来像:
nnoremap ^X@sq :q<CR>
保存并退出,重新启动vim就行了。
注意:在插入模式下,Ctrl+v
会按字面意义插入其后面的键/键组合。更多信息请尝试在vim中使用:help i_CTRL-V
。
抱歉回答这么古老的问题,但解决办法真的很简单:在终端中无法使用Win键,但在Gvim中可以使用它。只需将它作为T修饰键传递即可。例如,
:nmap <T-F5> :q<cr>
将Win+F5映射到:q命令。但它只能在*nix下使用。
您可以使用AutoHotkey进行映射将Windows键映射到其他键。仅在vim处于活动状态时激活映射:
#IfWinActive ahk_class GVIM
RWin::Alt
LWin::Alt
#IfWinActive ; This puts subsequent remappings and hotkeys in effect for all windows.
这些答案(包括这个)都不是针对vim特定的,而且所选答案是针对Windows特定的。这里是一个运行X的*nix的解决方案。
我将我的左Win键映射到Esc键。这在虚拟终端中无法工作,但可以在X中工作。
Either:
(1) Append keysym Super_L = Escape
to ~/.Xmodmap
and execute xmodmap .Xmodmap
.
|______(1a) ~same as echo "keysym Super_L = Escape" >> ~/.Xmodmap && xmodmap .Xmodmap
.
(2) Execute xmodmap -e "keysym Super_L = Escape"
.
如果您希望它能在虚拟终端中工作,请参阅[0]。
REFERENCES:
[0] http://www.mail-archive.com/screen-users@gnu.org/msg02859.html
[1] http://www.paganini.net/index.cgi/linux/nocaps.html
[2] http://ubuntuforums.org/archive/index.php/t-975229.html
不太确定,但 Ctrl+Esc 组合键只适用于 Windows 系统。它对于 Vim 没有帮助。
- winforms
- combobox
- fogbugz
- java
- date
- internationalization
- asp.net
- iis
- url-rewriting
- urlrewriter
- c#
- enums
- ocaml
- haxe
- algorithm
- string
- viewstate
- .net
- c++
- c
- symbol-table
- mysql
- database
- postgresql
- licensing
- migration
- vb.net
- vb6
- declaration
- vb6-migration
- python
- psycopg2
- backup
- vmware
- virtualization
- gnu-screen
- authentication
- desktop
- excel
- xll
- cultureinfo
- regioninfo
- oracle
- client
- session
- download
- html
- virtual
- constructor
- scenarios
- perl
- full-text-search
- javascript
- ajax
- testing
- oop
- inheritance
- vim
- encapsulation
- information-hiding