Emacs中的自动完成关键字

Emacs中的自动完成关键字,emacs,Emacs,例如,当我键入int main时,如果我可以点击tab并获得我想要的关键字自动完成列表,那就太好了。如何在Emacs中执行此操作?您可以使用M-/自动完成。也有可用的。您可以使用M-/自动完成。也有。您可以使用。通过写“main”和TAB,您可以 int main (int argc, char *argv[]) { return 0; } 这不是真正的自动完成。您可以使用。通过写“main”和TAB,您可以 int main (int argc, char *argv[]) {

例如,当我键入int main时,如果我可以点击tab并获得我想要的关键字自动完成列表,那就太好了。如何在Emacs中执行此操作?

您可以使用M-/自动完成。也有可用的。您可以使用M-/自动完成。也有。您可以使用。通过写“main”和TAB,您可以

int main (int argc, char *argv[])
{

  return 0;
}
这不是真正的自动完成。

您可以使用。通过写“main”和TAB,您可以

int main (int argc, char *argv[])
{

  return 0;
}


这并不是真正的自动完成。

您需要,它包含许多好的工具,可用于使EMACS具有许多在更现代的IDE中可以看到的功能。

您需要,它包含了许多好的工具,可以用来使EMACS具有许多在更现代的IDE中可以看到的功能。

Asher的列表答案可能是最好的,但是如果您想要一个下拉列表,可以选择可能的非语义补全,你可以使用。

Asher对列表的回答可能是最好的,但是如果你想要一个下拉列表,列出你可以选择的可能的非语义补全,你可以使用。

Emacs对于自动补全来说太酷了:p我使用Emacs是因为默认情况下它没有自动补全功能。这样你就可以更好地学习代码:只有我的两个e-cents@Jesus当前位置这是真的,但我的朋友说emacs不酷,因为它没有。所以我试图说服他emacs可以做任何事情:它可以,如果你想的话,我可以让你参考一个自动完成工具,它只适用于任何开放缓冲区中的内容,而不是真正特定于语言的内容。我在大型项目中使用它,所以我有时不会拼写错误。@Jesus:你试过公司吗?这是否提供特定语言的自动完成功能?抱歉,不熟悉。我倾向于完全避免自动完成:谁需要IDE来编码emacs对自动完成来说太酷了:P我使用emacs的原因是默认情况下它没有自动完成功能。这样你就可以更好地学习代码:只有我的两个e-cents@Jesus当前位置这是真的,但我的朋友说emacs不酷,因为它没有。所以我试图说服他emacs可以做任何事情:它可以,如果你想的话,我可以让你参考一个自动完成工具,它只适用于任何开放缓冲区中的内容,而不是真正特定于语言的内容。我在大型项目中使用它,所以我有时不会拼写错误。@Jesus:你试过公司吗?这是否提供特定语言的自动完成功能?抱歉,不熟悉。我倾向于完全避免自动完成:谁需要IDE来完成code@kindahero:对不起,我没有看到你的评论。yashnippet是否不仅仅是自动完成主要内容?我如何扩展它来做更多的事情?你能展示更多的例子吗?这个软件包附带了很多代码段扩展,例如,“if”+TAB给你一个带括号的“if”,括号代表块,括号内有点;写入条件并按TAB键将点放在大括号内。您也可以创建自己的代码段;这很简单,不需要elisp,请看@kindahero:对不起,我没有看到你的评论。yashnippet不仅仅是自动完成主要任务吗?我如何扩展它来做更多的事情?你能展示更多的例子吗?这个软件包附带了很多代码段扩展,例如,“if”+TAB给你一个带括号的“if”,括号代表块,括号内有点;写入条件并按TAB键将点放在大括号内。您也可以创建自己的代码段;这非常简单,不需要elisp,请参见默认情况下M-/绑定到dabbrev expand。许多人将这把钥匙重新绑定到更全面的嬉皮士扩展,其中包括dabbrev扩展选项。FWIW,我最近还写了以下答案,它生成了所有hippie expand补全,并使用ido completing read让用户从minibuffer中选择他们想要的:默认情况下,M-/绑定到dabbrev expand。许多人将这把钥匙重新绑定到更全面的嬉皮士扩展,其中包括dabbrev扩展选项。FWIW,我最近还写了下面的答案,它生成了所有hippie expand补全,并使用ido补全读取让用户从minibuffer中选择他们想要的一个:简单的自动补全不需要CEDET。感谢你告诉我CEDET,我想从现在起我会更有效率。你不需要CEDET为了简单的自动完成。谢谢你告诉我关于CEDET的事。我想从现在起我会更有效率。