טיפים חמים להביא את המדהים של קוד Visual Studio ל- Vim.
החזית
אני רוצה להתחיל באומרו, זה לא מאמר שעושה בושה. אתה יכול להשתמש בכל עורך הטקסט שאתה רוצה. זה ממש לא משנה. אני כותב את זה רק בגלל שמצאתי רמה של פרודוקטיביות ב- Vim שלא הייתה לי באף אחד מהעורכים שהשתמשתי בהם בעבר (Sublime Text, Atom או VSCode).
אם שמעת על Vim ורוצה לנסות זאת, אני מקווה שמאמר זה יכול לספק מעט היכרות שתמצא מ- VSCode.
למה Vim?
יש הרבה סיבות להשתמש ב- Vim, אז הנה כמה משלי.
שמור על הידיים שלך ב -10 וב -2
כשאתה משתמש אך ורק במקלדת, תהיה חיזוק מהירות מובנה רק מכך שלא תצטרך להזיז את הידיים פיזית. והיי, אולי אתה חגורה שחורה בתנועת עכבר, ואתה יכול לנוע קדימה ואחורה במהירות בלתי נראית לעין בלתי מזוינת. עבור שאר בני האדם הפשוטים שלנו זה לוקח זמן.
בואו נעשה מתמטיקה מהירה.
זה לוקח 600ms להעביר את היד שלי מ"מפתחות הבית "לעכבר. בממוצע, לצורך הוויכוח, אני עושה את זה פעם בדקה בזמן שאני כותב קוד. בין אם זה לגלול, לנווט לקובץ חדש או משהו דומה.
600 (זמן מבוזבז ב- ms) x 60 (פעמים בשעה) x 5 (שעות שאני ממש מקודד) = 180,000 ms מבוזבזים =
3 דקות. כֹּל. יְוֹם.כן, בסדר, אולי זה לא נשמע כל כך רע, אבל, את שלוש הדקות האלה אפשר להקדיש לכתיבת פונקציה, או לעצב מחדש קוד, ולא להתנדנד בידך כאילו אתה הארי פוטר!
מְהִירוּת
הציטוט המועדף עלי שמתאר איך זה לקודד ב- VIM:
"קוד במהירות המחשבה"Vim בנוי סביב הרעיון שאתה מתקשר ישירות עם המחשב שלך. אתה אומר לו מה שאתה רוצה וזה עושה זאת בשבילך. פותחת העיניים הגדולה ביותר עבורי הייתה הטעימה הקטנה הזו:
כדי למחוק את כל מה שבין שני אובייקטים (סוגריים, מרכאות וכו '), זה פשוט כמו:
di'

זה רק המשטח של דברים קצרים מדהימים שאתה יכול לעשות עם Vim.
אני מתכנת אמיתי!
חלק ממסע לימוד ה- VIM הוא חשיפת עצמך לאופן שבו פועלת UNIX. אני מתרשם שככל שאתה חושף את עצמך לדברים כמו bash, כך אתה מתכוון להיות טוב יותר.
רוב הסיכויים שיש לך הגדרת שורת פקודה די מתוקה. זה לא יהיה נחמד אם עורך הקוד שלך ושורת הפקודה שלך יעבדו ביחד?
איך יוצאים מ- Vim?
הסבירות גבוהה שאי פעם ערכת קובץ בשרת לינוקס ולא הצלחת להבין כיצד לצאת מהקובץ. נניח, למשל, שינוי מפתח SSH באוקיינוס הדיגיטלי. אם אתה מכיר את VIM ... אתה לא צריך לדאוג בקשר לזה!
הסיבה האמיתית שעברתי ל- Vim
זמן כנות. הזרז האמיתי לרצון לעבור ל- Vim היה לראות את קייל מתיוס (יוצר Gatsby.js) משתמש בו במהלך הדגמה.
תכונות קוד VS ושווי מקביליו
מְשׁוּכנָע? אחלה, הנה כמה כלים!
מערכת תוספים
Vim כשלעצמו הוא עצמות יפות. על מנת להוסיף תוספים, עלינו להיות מנגנון לניהולם. הכנס תקע:
junegunn / vim-plug
הערה: ישנם כמה מנהלי תוספים שם בחוץ. נחתתי על Plug בלי שום סיבה מיוחדת. אני אוהב את זה ולא היו לי שום בעיות עם זה. לידיעתך, וונדל הוצא משימוש.חיפוש קובץ
היו הרבה פתרונות לחיפוש קבצים לאורך השנים, כפי שמציין ריבוי התשובות בפורומים. ניסיתי כמה שונים, אבל נחתתי על השילוב הזה:
Fuzzy Finder (fzf) + Ripgrep

Fzf הוא חיפוש מטושטש בנוי / מתוחזק שעובד בשורת הפקודה וב- vim.
הערה: ייתכן שתראה Ag (מחפש כסף) בהרבה מאמרים, אולם תוסף ה- vim הקשור ל- Ag אינו מתוחזק עוד, ולכן מומלץ להשתמש ב- RipGrep.אינטליגנציה
מערכת ההשלמה האוטומטית (Intellisense) ב- VSCode היא ללא ספק התכונה הטובה ביותר שלה. למזלנו, הוא הועבר ל- Vim!
ניאוקליד / coc.nvim

ל- CoC מערכת הרחבות משלה, המשקפת את זו של VSCodes. זה קל לשימוש ומתועד היטב (החלק החשוב ביותר).
הערה: ייתכן שתראה כמה מאמרים ישנים המדברים על YouCompleteMe, אך ככל שיכולתי לדעת, זה כבר לא נשמר.סייר מערכת הקבצים
VSCode, כמו רוב עורכי הטקסט המודרניים, מגיע עם סייר קבצים. יליד Vim netrw
בסדר, וראיתי לא מעט מאמרים שאומרים שאתה לא צריך שום דבר אחר, כמו כאן. עם זאת, אני מוצא NERDTree שימושי מכדי שלא להשתמש בו.
scrooloose / nerdtree
שילוב גיט
אני חייבת להיות כנה כאן, אני עושה את רוב הדברים הגיטיים שלי ישר באיתור. עם זאת, ל- VSCode יש מסך מפוצל להפליא של Git Diff. כדי להשיג את אותה רמת שילוב git, בדוק את התוסף הזה:
tpope / vim- נמלט

תוספים נוספים שאולי תרצו
זה חלק מהדברים שהשתמשתי בקוד Visual Studio שרציתי להכניס ל- Vim.
סוגרים להשלמה אוטומטית
חבילה קטנה ונחמדה זו תסגור אוטומטית את הסוגריים המציקים האלה.
ג'יאנגמיאו / זוגות אוטומטיים
סמלי קבצים
זה יוסיף סמלים לדברים כמו NERDTree.
ryanoasis / vim-devicons
יפה יותר
לא היית יודע את זה, אבל לצוות היפה הרשמי יש תוסף vim. כמה נחמד! כמו כן, פשוט מאוד להתקנה.
יותר יפה / vim-יפה יותר
קבל את זה לעבוד על שמירה אוטומטית, עיין במאמר זה.
קטעים
האם לא היית יודע זאת, באמצעות כיבוש ההשלמה אתה יכול לייבא קטעי VSCode!
בדוק זאת כדי להראות לך כיצד לעשות זאת:
ניאוקליד / coc.nvim
הנה חבילת קטעי התגובה שאני משתמש בה.
xabikos / vscode-react
דברים נוספים
הבית של תוספי Vim הוא Vim Awesome.
Vim מדהים
מקום נהדר לצפות בו אנשים משתמשים ב- Vim:
Vimcasts - שידורי מסך בחינם על עורך הטקסט Vim
קובצי נקודה
יש לי כמה מקשים ממוחזרים כדי להקל על הדברים. בדוק את קבצי הנקודות שלי עבור כל אלה.
DarthOstrich / dotfiles
מחשבות אחרונות
המסע שלי
אני אך ורק משתמש ב- Vim עכשיו, אחרי שביליתי כשנה ללמוד אותו. בתחילה השתמשתי בו רק לפרויקטים האישיים שלי מכיוון שרמת התפוקה שלי הייתה נמוכה. הייתי צריך להמשיך לעצור כדי לחפש איך לעשות משהו. עם זאת, הורדתי את VSCode לחלוטין לפני כארבעה חודשים, ואני לא מתכוון לחזור.
זה דורש משמעת
ללמוד Vim יכול להיראות מרתיע, ולמען האמת, זה כן. זה דורש משמעת עצמית. עם זאת, האם הכל לא נמצא בפיתוח? אין כלי / שפה / מסגרת שלמדתי מעולם שלא דרשו תרגול מכוון כלשהו.
Vim הוא בחירה באורח החיים. ייקח קצת זמן להתרגל לזה וזה יהיה לפעמים מתסכל. עם זאת, אם אתה עומד בזה, אני מבטיח שזה ישפר את זרימת העבודה שלך. אם יש לך טיפים או שאלות נוספות, אנא שלח אותם למטה. כמו תמיד, קידוד שמח!
משאבים נוספים ללמידה
מאסטרינג Vim במהירות - Jovica Ilic
8 טריקים Vim שייקחו אתכם ממתחילים למומחים
הפניות
עוברים ל- Vim
10 טיפים פשוטים של לינוקס שחוסכים 50% מזמני בשורת הפקודה