我想在我的vimrc中将单引号映射到双引号,即' -> "
。
除了在C中声明字符外,在编程中使用'
在哪里?
我应该映射吗? 我将反向映射它们以访问它们。
答案 0 :(得分:4)
单引号在编程中使用遍布。
在Bourne shell(及其衍生词,以及csh
和衍生词,以及Perl
和其他语言)中,它用于禁止字符串扩展,因此您可以这样做:
$ echo '$VARIABLE'
$VARIABLE
在C
中,单引号用于表示字符常量,而不是字符串。所以你可以这样做:
char c = 'c';
但这是一个错误:
char c = "c";
当然,如果你用一种叫做“英语”的语言进行编程,单引号用于表示像占有欲这样的重要事物(“snihalani的问题似乎有些奇怪”)以及收缩(“我能”相信任何人都想这样做。“)。
这些只是几个例子。当然还有更多。
答案 1 :(得分:3)
我几乎只使用单引号。当你在字符串中使用双引号时它们很有用:
print 'Foo said, "Bar"'
比逃避它们更容易:
print "Foo said, \"Bar\""
此外,您将无法输入具有所有权的普通句子:
# Attaches foo's signal to a slot
self.foo.bar.connect(self.baz)
例如,当使用单引号引用字符串时,PHP不会执行变量替换:
$var = 1;
echo('I will literally print $var');
答案 2 :(得分:1)
在许多语言中(例如,C,C ++,Ada),'
分隔字符文字,"
分隔字符串文字。
在其他(例如Perl,Bourne shell)中,'
或"
可用于字符串文字,但具有不同的语义;当字符串包含"
个字符时,'
很方便,反之亦然,而"
会将对变量的引用扩展为变量的名称,而'
会阻止此变量
Ada使用'
来界定属性的名称。
在所有语言中,您在评论和字符串文字中需要'
- 例如,如果您想在评论中写“您需要'
和字符串文字“。
他们是不同的角色。删除你输入其中一个的能力不是一个好主意。
您可以考虑将'
映射到"
,反之亦然,如果这样可以让您更轻松地打字。但是一旦你养成使用映射的习惯,使用别人的设置或者将文本输入vim以外的东西可能会很尴尬。