Maison > Questions et réponses > le corps du texte
最近在尝试使用 Vim,有个问题请教,就
public class test {
public static void main(String args[]) {
System.out.print("shit,Test success!");
}
}
在 Vim 中,我可以直接运行调试吗,像 Sublime 的 cmd+B
一样。
ringa_lee2017-04-18 09:08:46
Selon le sens de la question, après avoir édité le code, appuyez sur une touche de raccourci pour le compiler automatiquement et l'exécuter directement.
Plan
Dans vim
, des commandes externes peuvent être exécutées via :!cmd
Correspondant au fichier unique écrit par le sujet :
:!javac % #=> 编译, % 为正在编辑的文件名
:!java %:r #=> 运行, %:r 去掉文件名的后缀
C'est le principe, définissez simplement le mappage des touches ensuite. Dans le .vimrc
fichier, ajoutez le contenu suivant
autocmd BufNewFile,BufReadPre *.java nmap <leader>rn :!javac %<cr>:!java %:r<cr>
signifie qu'avant de créer ou de lire un fichier .java
, le raccourci <leader>rn
sera automatiquement mappé à la commande spécifiée
Bien sûr, vous pouvez également le définir sur deux touches de raccourci. Il n'est pas recommandé d'utiliser la touche de raccourci Command
ici, mais utilisez Leader
En fait, le vim
du terminal ne peut pas être mappé sur <🎜. >, seulement Command
Oui.MacVim
Avancé 1 : Plusieurs fichiersIl n'y a rien de mal avec plusieurs fichiers. Lorsque
est utilisé, remplacez javac
par %
et remplacez *.java
par le vrai nom du fichier où %:r
se trouve main
.
Avancé 2 : ProjetSi votre projet a une structure fixe, c'est essentiellement la même
Lors de la compilation, vous pouvez ajouter l'option
pour spécifier le chemin de dépendance et l'option -cp
pour spécifier le chemin de sortie. Si vous souhaitez le conditionner sous la forme -d
, ajoutez la touche de raccourci.<🎜. >
jar
Vous pouvez définir un fichier de propriétés
ou le langage .project
pour lire le fichier de propriétés, le compiler et le sortir respectivement. , rendez-vous sur VimL
Regardez dans l'annuaire, leurs emplacements sont très réguliers python
.
~/.m2/
Maintenant, vous pouvez mapper les touches aux opérations ci-dessus, qui sont des touches de raccourci
, il y a toutes les lettres et tous les chiffres, et vim
plus n'importe quelle longueur de lettres Et. chiffres, Ctrl/Alt/Shift
ne suffit pas, ou leader
préfixe D'ailleurs, vous préférerez peut-être leader
.mapleader
.
F1-F12
, à l'exception de la fonction de téléchargement automatique des dépendances. MaisOK, vous avez fondamentalement réinventé
a tellement de bibliothèques réseau que je suppose que l'entrepôt de maven
devrait être ouvert sur le monde extérieur, à condition que ce soit le cas. en suivant, les protocoles pertinents peuvent être téléchargés. S'il existe une relation de dépendance entre les packages, vous pouvez utiliser python
pour écrire un algorithme de traitement des dépendances mvn
.
python
Bien que
, VimL
, python
, il y a toujours une interface linguistique que vous aimez. Quoi que vous trouviez lent, cela n'a pas d'importance, utilisez Ruby
. Écrivez-le et transformez-le en une Lua
structure. Voyez comment C++
les autres l'implémentent et copiez-le.C/S
YCM
, il y a tellement deD'accord, les dépendances de compilation, d'exécution et d'empaquetage ont été résolues, mais il s'agit toujours d'un plug-in de gestion de projet. Il n'y a pas d'achèvement lors de l'écriture
, des noms de méthodes si longs et divers passe-partout. méthodes d'écriture et toutes sortes d'exceptions étranges sont levées, l'écriture manuscriteJava
le code est vraiment laborieux et cela demande beaucoup de capacité cérébrale.API
Comment cela peut-il fonctionner ? Nous devons obtenir un plug-in de complétion. Vim
Le roi de la complétion mondiale YCM
n'a été créé qu'après la sortie de Clang
, GNU
. les données de l'analyse grammaticale ne seront pas partagées. Vous devez écrire vous-même un analyseur grammatical, oui, pour g++
..., afin d'effectuer une complétion intelligente.C++
Je ne sais vraiment pas ce qui se passe ici, mais Java
cela a été fait en 1995, Java
cela a été fait en 1991, et ils ont passé 20 ans ensemble. Cela fait des années, et pendant cette période, divers vim
ont été exportés, mais je n'ai vu personne se ridiculiser Java IDE
.
Pour la complétion fournie par YCM
, utilisez Java
Cela n'a rien à voir avec eclim
YCM
fournit simplement une interface YCM
peut fonctionner normalement sans eclim
. 🎜> Pour utiliser le plug-in, vous devez installer YCM
, eclim
qui est célèbre pour son open source lent. En d'autres termes, eclipse
utilise Java
en bas pour le compléter. Ne vous souciez pas de la vitesse de démarrage et de la vitesse d'achèvement super lentes, vous pouvez l'essayer.IDE
eclim
C'était tout simplement insupportable, alors l'auteur a immédiatement commencé à écrire un analyseur de syntaxe pour eclipse
en utilisant
et en communiquant avec le serveur dans le plug-in pour le compléter. peut également écrire un backend C++
directement sur Java
.C/S
YCM
On dit que le nombre de pages de Java
normes de grammaire a dépassé
Java
À ce stade, j'ai indiqué un chemin vers la spiritualité pour le sujet. Après avoir grimpé sur les épines, vous deviendrez le dieu éternel des mondes C++
et
Les disciples des deux factions vous adoreront et vous adoreront pour toujours.vim
Java
Si Vim
est toujours vivant au moment où vous écrivez ceci..., Java
La plateforme compte beaucoup de langues frères...
Pourquoi ne dis-tu pas Java
, parce que JVM
enseigne la vie éternelle !!!
vim
Post-scriptumvim
Je déclare par la présente que cet article ne contient aucun ridicule, taquinerie, ridicule ou remise en question du sujet du sujet. Je ne m'excuserai pas si je rends le sujet du sujet mécontent., tant que vous avez suffisamment de compétences et de temps. C'est principalement parce queJe dis juste ceci, rien n'est impossible pour
n'est qu'un éditeur, il ouvre toutes les interfaces ouvertes, vous faites ce que vous voulez. pour ce faire, écrivez simplement un plug-in. Le manuel chinois de
, à part quelques journaux de mise à jour, contient au moins pages Même si vous finissez de le lire, vous ne pourrez peut-être pas écrire de plug-ins, il faut encore lire le livre. Juste vim
J'ai pris une note approximative des 300 premières pages du guide d'utilisation et j'ai pris vim
plusieurs lignes de notes. C'était si concis que moi seul pouvais le comprendre.
Habituellement, sur cette problématique, Vim
fournit :make
interface pour compiler, et makeprg
pour définir les paramètres de compilation. Mais il faut aussi admettre qu'au début de la Vim
conception, la plupart des conceptions étaient. pour Fabriqué dans un langage compilé comme C
, l'objet texte a{
sélectionne le code dans {}
, mais pour python
, le code de bloc est le même code indenté, sans {}
, pour Scala
Pour Par exemple, lorsque le bloc n'a qu'une seule instruction, {}
.
Dédié à tous les Vimers qui ont eu du mal à essayer d'écrire Java, n'ayez pas peur, je suis aussi l'un d'entre vous
Vim
n'est pas parfait, mais il est meilleur que la plupart des Vimer
sosies
Je crois que tous ceux qui viennent d'apprendre Vim
et ont été impressionnés par le pouvoir de Vim
ont essayé de dire quelque chose d'audacieux, Vim在手, 天下我有
Ensuite, ils se sont rencontrés Java
au travail et sont tombés dans la douleur de. en faisant semblant. Dans le bourbier, soit j'ai décidé de trouver un autre travail, soit j'ai utilisé IDE
. Quand j'ai regardé en arrière, j'ai vu les limites de Vim
.
黄色的树林里分出两条路
而我选择了IDE
你呢
Mise à jourFichier unique
Compilation et mappage de fichiers, appuyez une seule fois sur Entrée pour réduire les interférencesjava
autocmd BufNewFile,BufReadPre *.java nnoremap <leader>rs :up <bar> !javac % && java %:r<cr>
autocmd BufNewFile,BufReadPre *.java nnoremap <leader>cs :up <bar> !javac %<cr>
En gros, dans le même répertoire, les fichiers de bibliothèque sont compilés avec , et les fichiers exécutables sont compilés avec <leader>cs
.
<leader>rs
Voici
, la même que rs
est run single file
.cs
compile single file
correspond principalement à
Vous pouvez utiliser rp
pour mapper la compilation et l'exécution des fichiers de projet. cp
correspond à :!mvn subcmd
.p
.
PHP中文网2017-04-18 09:08:46
N'avez-vous pas vu que test.class a été généré ?
Cela devrait être possible, mais cela nécessite la prise en charge des plug-ins.
ringa_lee2017-04-18 09:08:46
Non, vim lui-même n'a pas la fonction de lien de compilateur. On ne sait pas s'il est configurable ou pris en charge par les plug-ins pertinents
PHP中文网2017-04-18 09:08:46
Bonjour, j'utilise vim pour développer Java. Vous pouvez essayer un plug-in de test unitaire que j'ai écrit pour exécuter des tests
https://github.com/wsdjeg/JavaUnit.vim
Bien sûr vous pouvez aussi utiliser ma configuration directement
https://github.com/wsdjeg/DotFiles
ringa_lee2017-04-18 09:08:46
Normalement, cela n'est pas possible car vim ne peut pas compiler et générer des fichiers de classe
巴扎黑2017-04-18 09:08:46
map <F4> :"!javac %"<cr>
map <F5> :"!java %<"<cr>
Ajoutez ces deux phrases au fichier de configuration, F4 pour compiler, F5 pour exécuter (notez l'espace après <F4><F5>), bien sûr, le principe est que vous avez installé jdk et configuré les variables d'environnement . Le débogage se sent mal