-2

' -> "我想在我的vimrc中将单引号映射到双引号。

除了在 C 中声明 chars 之外,'在编程中还使用了哪里?

我应该映射它吗?我将反向映射它们以访问两者。

4

3 回答 3

4

单引号在编程中无处不在。

  • 在 Bourne shell(以及派生类、csh派生类Perl和其他语言)中,它用于禁止字符串扩展,因此您可以这样做:

    $ echo '$VARIABLE'
    $VARIABLE
    
  • C中,单引号用于表示字符常量,而不是字符串。所以你可以这样做:

    char c = 'c';
    

    但这是一个错误:

    char c = "c";
    
  • 当然,如果你用一种叫做“英语”的语言编程,单引号用来表示重要的东西,比如所有格(“snihalani 的问题似乎有点奇怪)以及收缩(“我不相信有人会想要做这个。”)。

这些只是几个例子。当然,还有更多。

于 2012-08-16T00:42:57.377 回答
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');
于 2012-08-16T00:40:00.697 回答
1

在许多语言(例如,C、C++、Ada)中,'分隔字符文字和"分隔字符串文字。

在其他(例如,Perl、Bourne shell)中,'或者"可以用于字符串文字,但具有不同的语义;"当字符串包含'字符时很方便,反之亦然,并"导致对变量的引用扩展为变量的名称,同时'防止这种情况发生。

Ada 用于'分隔属性的名称。

所有语言中,您都需要'注释和字符串文字——例如,如果您想写“您需要'注释和字符串文字”。

他们是截然不同的人物。取消您键入其中一个的能力不是一个好主意。

您可能会考虑映射'" ,反之亦然,如果这样可以让您更轻松地打字。但是一旦你养成了使用映射的习惯,使用别人的设置或在 vim 以外的其他东西中输入文本可能会很尴尬。

于 2012-08-16T00:42:47.000 回答