' -> "
我想在我的vimrc中将单引号映射到双引号。
除了在 C 中声明 chars 之外,'
在编程中还使用了哪里?
我应该映射它吗?我将反向映射它们以访问两者。
单引号在编程中无处不在。
在 Bourne shell(以及派生类、csh
派生类Perl
和其他语言)中,它用于禁止字符串扩展,因此您可以这样做:
$ echo '$VARIABLE'
$VARIABLE
在C
中,单引号用于表示字符常量,而不是字符串。所以你可以这样做:
char c = 'c';
但这是一个错误:
char c = "c";
当然,如果你用一种叫做“英语”的语言编程,单引号用来表示重要的东西,比如所有格(“snihalani 的问题似乎有点奇怪)以及收缩(“我不相信有人会想要做这个。”)。
这些只是几个例子。当然,还有更多。
我几乎只使用单引号。当您在字符串中使用双引号时,它们很有用:
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');
在许多语言(例如,C、C++、Ada)中,'
分隔字符文字和"
分隔字符串文字。
在其他(例如,Perl、Bourne shell)中,'
或者"
可以用于字符串文字,但具有不同的语义;"
当字符串包含'
字符时很方便,反之亦然,并"
导致对变量的引用扩展为变量的名称,同时'
防止这种情况发生。
Ada 用于'
分隔属性的名称。
在所有语言中,您都需要'
注释和字符串文字——例如,如果您想写“您需要'
注释和字符串文字”。
他们是截然不同的人物。取消您键入其中一个的能力不是一个好主意。
您可能会考虑映射'
到"
,反之亦然,如果这样可以让您更轻松地打字。但是一旦你养成了使用映射的习惯,使用别人的设置或在 vim 以外的其他东西中输入文本可能会很尴尬。