我要地图Ctrl- M到Ctrl- N插入模式.如果我根本就imap <C-M> <C-N>那么Ctrl- M也开始表现就像Ctrl- N,但随后按Enter不一样的好.我想按Return键继续插入新行,同时make Ctrl- M插入下一个关键字完成匹配就像Ctrl- N确实如此.那可能吗?
编辑:我设法修改Vim的源代码,无条件地处理Ctrl- Mas Ctrl- N而不影响Return.在这样做的同时,我也意识到在没有源代码更改的情况下确实没有办法做到这一点,因为实际上被压缩的东西之间的区别 - Enter或Ctrl- M似乎在按键处理中过早消失.它发生在依赖于平台的UI模块中,并且按键处理中的可移植代码部分已经不知道是否Ctrl- M或者实际按下了返回导致密钥代码13的返回.
我的修改是在FreeBSD(GTK)和Windows的GUI模块中,因为那些是我最常用的gvim平台.
PS如果有人想要实现同样的目标,请随时给我留言.
PPS对所有提供这个问题答案的人:非常感谢!你的评论给了我很多帮助.
在*nix中我可以设置SVN_EDITOR到gvim --nofork这样的伎俩,但似乎无法在Windows下工作.那有什么解决方案吗?
我试图在xcode中将wstring/wchar_t打印到控制台但不幸的是它只适用于基本字符(我认为是ascii)字符,其他所有内容都以数字显示,例如以下内容:
std::cout << "äöüu"<< std::endl;
std::wcout << L"äöüu" << std::endl;
Run Code Online (Sandbox Code Playgroud)
虽然cout版本按预期打印"äöüu"但是在使用wchar_t时会得到以下内容:
\ 344\366\374U
关于如何解决这个问题的任何想法?我使用xcode 3.2.2 64位和gcc 4.2,文件编码设置为Unicode(UTF-8)
谢谢!
我在理解如何使用bjam指定和调用目标时遇到问题.通过这个,我的意思是我想为bjam提供命令行目标来构建(实际上来自Makefile),这些目标对应于构建过程的不同方面,而不仅仅是运行整个事物.
例如,现在当我键入'bjam'时,它会关闭并构建一个python扩展,运行一个单元测试文件,并创建一个单独的'main'可执行文件.我有自定义规则执行每一步,我的Jamfile只是按顺序列出它们:
project-name = example ;
sources =
$(project-name).cpp
$(project-name)_ext.cpp
;
build-ext $(project-name) : $(sources) ;
build-main $(project-name) ;
Run Code Online (Sandbox Code Playgroud)
在我的Jamroot(上一个目录)中我定义了这些规则,这里是不完整的文件:
# A rule to simplify declaration of extension tests:
rule run-test ( test-name : sources + )
{
import testing ;
testing.make-test run-pyd : $(sources) : : $(test-name) ;
}
# A rule to further simply declaration of extension tests:
rule run-ext-test ( project-name )
{
run-test $(project-name) : $(project-name)_ext test_$(project-name)_ext.py ;
}
# A rule to simplify …Run Code Online (Sandbox Code Playgroud)