1 00:00:00,000 --> 00:00:02,590 >> [סמינר Vim] 2 00:00:02,590 --> 00:00:04,210 [ברנדון ליו] [אוניברסיטת הרווארד] 3 00:00:04,210 --> 00:00:07,500 [זה CS50.] [CS50.TV] 4 00:00:07,500 --> 00:00:09,880 >> היום הולך להיות מבוא לVim. 5 00:00:09,880 --> 00:00:12,310 כמה מכם חבר 'ה שמעו על Vim? 6 00:00:12,310 --> 00:00:15,620 מה ששמעת על Vim? 7 00:00:15,620 --> 00:00:17,590 [סטודנטים] זה פותר את כל הבעיות שלך. 8 00:00:17,590 --> 00:00:19,450 [ברנדון ל] זה פותר את כל הבעיות שלך. 9 00:00:19,450 --> 00:00:23,840 כל דבר אחר שאתם שמעתם על Vim? רשמים כל? 10 00:00:23,840 --> 00:00:27,990 [סטודנטים] כמעט כולם דברתי איתי אוהב להשתמש Vim. 11 00:00:27,990 --> 00:00:29,960 אה, מתוק. 12 00:00:29,960 --> 00:00:31,090 [סטודנטים] הרבה אנשים שאני מכיר אוהב להשתמש Vim. 13 00:00:31,090 --> 00:00:35,050 אוקיי, זה טוב, כי הרבה אנשים בCS51 14 00:00:35,050 --> 00:00:38,000 להתחיל לאסוף את Emacs בגלל Emacs יש לו תמיכה מעט טובה יותר 15 00:00:38,000 --> 00:00:40,100 לשפה שאתה הולך להשתמש בCS51, 16 00:00:40,100 --> 00:00:42,770 ואני חושש שלא מספיק אנשים בהרווארד להשתמש Vim, 17 00:00:42,770 --> 00:00:46,190 אז אני באמת מנסה ועושה עבודה טובה של עידוד שימוש Vim. 18 00:00:46,190 --> 00:00:51,110 >> אבל כאן הוא קומיקס xkcd קלאסיים שבו אתה עלול למצוא את החבר 'ה מעניין. 19 00:00:51,110 --> 00:00:53,800 האם אתם משמשים ננו לפני בכלל? 20 00:00:53,800 --> 00:00:57,380 קומיקס זה אומר נאנו? מתכנתים אמיתיים משתמשים Emacs. 21 00:00:57,380 --> 00:00:59,040 היי, מתכנתים אמיתיים משתמשים Vim. 22 00:00:59,040 --> 00:01:03,130 לא, מתכנתים אמיתיים משתמשים באד שהוא זה, אתה אף פעם לא רוצה להשתמש באד. 23 00:01:03,130 --> 00:01:05,990 זה ממש ממש ישן וממש רע, ומתכנתים אמיתיים משתמשים 24 00:01:05,990 --> 00:01:08,440 מחט ממוגנטת ויד יציבה. 25 00:01:08,440 --> 00:01:16,010 ואתה יכול לקרוא את השאר, אבל זה די משעשע. 26 00:01:16,010 --> 00:01:18,320 והדבר המצחיק הוא בסופו של דבר. 27 00:01:18,320 --> 00:01:20,310 הם אומרים, "אה, כן, כמובן, יש פקודה Emacs לעשות את זה." 28 00:01:20,310 --> 00:01:25,050 Cx Mc M-פרפר ישן וטוב, שהוא סוג של עקיצה בEmacs 29 00:01:25,050 --> 00:01:28,520 בגלל Emacs ידוע היסטורי להיות קצת נפוח 30 00:01:28,520 --> 00:01:32,310 ויש פקודות לכמעט כל דבר, אז זה סוג של בדיחה עבור Emacs. 31 00:01:32,310 --> 00:01:35,320 >> מהו Vim? Vim הוא עורך הטקסט של מתכנת מתקדמת. 32 00:01:35,320 --> 00:01:40,040 אני באמת רוצה לעשות את ההבחנה בין עורך טקסט 33 00:01:40,040 --> 00:01:42,000 ומשהו כמו מעבד מסמך. 34 00:01:42,000 --> 00:01:44,340 Microsoft Word ידוע כמעבד מסמך. 35 00:01:44,340 --> 00:01:49,090 באפשרותך להגדיר שוליים, לעשות דברים נועזים, קו תחתון דברים, 36 00:01:49,090 --> 00:01:51,480 השביתה דרך דברים, לשנות את גודל גופן ומה לא. 37 00:01:51,480 --> 00:01:54,380 עורך טקסט לא עושה כלום יותר פשוט לערוך טקסט. 38 00:01:54,380 --> 00:01:56,020 פשוטו כמשמעו, פשוט יש לך תווים. 39 00:01:56,020 --> 00:02:01,650 אין שום סוג של עיצוב, גדלים, גופנים, צבעים, או משהו כזה. 40 00:02:01,650 --> 00:02:06,360 כל שעליך לעשות הוא לערוך טקסט, וVim נעשה במיוחד עבור תכנות. 41 00:02:06,360 --> 00:02:09,240 יש לו הרבה תכונות שנבנו רק לתכנות. 42 00:02:09,240 --> 00:02:11,360 זה נועד במפורש לעריכת טקסט יעילה. 43 00:02:11,360 --> 00:02:15,190 >> באופן כללי, Vim ידוע להיות בעצם עורך הטקסט המהיר ביותר 44 00:02:15,190 --> 00:02:19,110 אולי אתה יכול להשתמש בהשוואה עם כל עורך טקסט אחר שזה אפשרי. 45 00:02:19,110 --> 00:02:22,480 הרבה תכונות כמו IDE-אינם בנויים ישירות לתוך Vim, 46 00:02:22,480 --> 00:02:26,850 כך שאם אתה השתמשת IDE ואתה רגיל לדברים כמו לקמפל ולהריץ באופן אוטומטי 47 00:02:26,850 --> 00:02:30,880 או באגים מה בIDE שלך או שורה של דברים אחרים לגמרי 48 00:02:30,880 --> 00:02:32,290 Vim לא מגיע עם כי באופן טבעי, 49 00:02:32,290 --> 00:02:36,330 אבל יש שורה שלמה של תוספים שאתה יכול להשתמש בו כדי להוסיף סוג זה של פונקציונליות לVim. 50 00:02:36,330 --> 00:02:40,890 Vim על ידי עצמו מתמקד בעריכת טקסט ועושה עריכת טקסט ממש, ממש טוב. 51 00:02:40,890 --> 00:02:43,340 ולבסוף, זה באמת התאמה אישי ומורחב, 52 00:02:43,340 --> 00:02:48,740 ובעצם Vim כבר בסביבה, או וי, שVim בנוי על, 53 00:02:48,740 --> 00:02:53,790 מסביב כבר מעל 40 שנים, ומדובר בתכנית מאוד, מאוד עמוקה, 54 00:02:53,790 --> 00:02:58,850 ואנשים ישתמשו בו לכל חיים ואף פעם לא באמת להשתלט על תכניתם במלואם, 55 00:02:58,850 --> 00:03:01,530 ואתה תמיד להמשיך ללמוד לאורך כל החיים שלך לאורך השנים, 56 00:03:01,530 --> 00:03:03,390 תמיד הופך יותר ויותר טוב. 57 00:03:03,390 --> 00:03:07,480 >> יש בעצם אין סוף למה שאתה יכול ללמוד וכמה אתה יכול לשפר עם Vim, 58 00:03:07,480 --> 00:03:09,300 וזה באמת מרגש. 59 00:03:09,300 --> 00:03:12,730 אתה לא רוצה להציג את זה בתור משהו מפחיד, כי אתה יכול להיות מאוד, מאוד בקיא 60 00:03:12,730 --> 00:03:16,650 בVim רק כמה שבועות, אבל זה בערך כמו-מתמיד 61 00:03:16,650 --> 00:03:18,870 אתה תמיד יכול ללמוד יותר וללמוד עוד ולעשות דברים טובים יותר וטוב יותר, 62 00:03:18,870 --> 00:03:20,880 שהוא סוג של מרגש עבורי. 63 00:03:20,880 --> 00:03:23,810 זוהי דוגמא של מה שנראה כמו Vim. 64 00:03:23,810 --> 00:03:27,630 זה לא שלי. אתה תראה כמה הדגמות חיות עכשיו. 65 00:03:27,630 --> 00:03:29,350 זוהי דוגמא של מה Vim עשוי להיראות. 66 00:03:29,350 --> 00:03:33,590 >> מה שאנחנו הולכים לעשות היום הוא שאנחנו הולכים להתחיל עם 67 00:03:33,590 --> 00:03:35,260  חלון ראווה מהירה של מה Vim יכול לעשות. 68 00:03:35,260 --> 00:03:39,040 אני הולך לעשות כמה טריקים ומה לא בשבילכם 69 00:03:39,040 --> 00:03:43,020 כך שאתה יכול להבין למה אני אוהב Vim כל כך הרבה ומדוע אנשים כמו Vim כל כך הרבה, 70 00:03:43,020 --> 00:03:46,470 ואז משם נלך להקדמה עדינה. 71 00:03:46,470 --> 00:03:49,530 למעשה, זה יהיה קצת מהיר, מבוא לVim. 72 00:03:49,530 --> 00:03:53,410 אני אשאל אותך החבר 'ה כדי להוריד קובץ טקסט ולבצע יחד איתי אם אתה יכול. 73 00:03:53,410 --> 00:03:58,080 זה Vim, וכאן אני משתמש MacVim, 74 00:03:58,080 --> 00:04:00,520 כך שאם יש לך חבר 'ה מקינטוש ייתכן שתרצה לשקול שימוש MacVim 75 00:04:00,520 --> 00:04:04,210 כי זה גרסה גרפית של Vim, למרות Vim הרגיל, 76 00:04:04,210 --> 00:04:06,210 מה יש בשורת הפקודה שלך, עובד בסדר גמור. 77 00:04:06,210 --> 00:04:09,890 אני הולך להראות לכם כמה טיפים וטריקים אקראיים 78 00:04:09,890 --> 00:04:15,330 כי אתה יכול להשתמש בVim כדי להראות לך למה זה כל כך מגניב. 79 00:04:15,330 --> 00:04:18,940 >> רק כמה דברים אקראיים שאני עומד לעבור. 80 00:04:18,940 --> 00:04:21,700 הדבר הראשון הוא אובייקטי טקסט, ויש כמה פקודות סביב אובייקטי טקסט, 81 00:04:21,700 --> 00:04:25,010 ואני באמת אלמד אותך מה טקסט אובייקטים הם ביתר פירוט בהמשך בסמינר, 82 00:04:25,010 --> 00:04:30,050 אבל למשל, נניח שאני אייתי את השם שלי לא נכון, 83 00:04:30,050 --> 00:04:32,380 Barndon ליו, ואני רוצה לשנות את זה. 84 00:04:32,380 --> 00:04:36,140 כל מה שאני צריך לעשות זה לקבל את הסמן שלי אי שם בשם שלי והקלידו את הפקודה 85 00:04:36,140 --> 00:04:38,900 CIW, וזה יהיה למחוק את כל השם שלי, הכניס אותי למצב ההכנסה, 86 00:04:38,900 --> 00:04:41,050 ואני יכול להקליד את השם שלי ולתקן אותה. 87 00:04:41,050 --> 00:04:45,550 בדומה לכך, אם אני רוצה לשנות משהו בתוך מרכאות יש גם הפקודה לכך. 88 00:04:45,550 --> 00:04:47,330 אני יכול למחוק דברים בתוך מרכאות. 89 00:04:47,330 --> 00:04:50,260 אין יותר צורך ללחוץ לחיצה כפולה, להזיז את היד שלך מעל לעכבר, 90 00:04:50,260 --> 00:04:52,230 לחיצה כפולה, ולאחר מכן הקלד בחזרה משהו פנימה 91 00:04:52,230 --> 00:05:02,000 אתה יכול לעשות הכל מהמקלדת, מה שזה לא. 92 00:05:02,000 --> 00:05:06,430 או לחלופין, נניח שיש לי תג התמונה בתוך תג העוגן הזה. 93 00:05:06,430 --> 00:05:08,160 >> האם אתם מכוסים HTML בכיתה עדיין? 94 00:05:08,160 --> 00:05:10,570 כן, אז אולי אני רוצה למחוק את התג הזה, 95 00:05:10,570 --> 00:05:13,080 אשר בדרך כלל מה שאתה צריך לעשות הוא שאתה צריך להשתמש בעכבר שלך 96 00:05:13,080 --> 00:05:16,040 ולהאיר בזהירות בדיוק מה שאתה רוצה למחוק ולמחוק אותו. 97 00:05:16,040 --> 00:05:21,320 אבל בVim זה פשוט DIT, ואתה יכול למחוק את זה ממש מהר, 98 00:05:21,320 --> 00:05:28,020 ואני אסביר לך מה כל הפקודות האלה אומרת ואיך אתה משתמש בם בשנייה. 99 00:05:28,020 --> 00:05:30,320 דוגמא נוספת, יש לי כמה קוד כאן, 100 00:05:30,320 --> 00:05:33,640 ונניח שאני רוצה לשנן את הקוד, אבל אני רוצה לשנן את הקוד 101 00:05:33,640 --> 00:05:39,940 רק בתוך הסוגריים, ואני יכול גם לשנן את הקוד באמצעות 3 פקודות 102 00:05:39,940 --> 00:05:45,360 באמצעות בעצם> IB. 103 00:05:45,360 --> 00:05:49,960 דבר נוסף זה ממש מגניב על Vim הוא משהו שנקרא עריכת בלוק חזותית. 104 00:05:49,960 --> 00:05:52,380 אני לא יודע אם אתם אי פעם רצינו להדגיש 105 00:05:52,380 --> 00:05:55,690 לפעמים בלוק מלבני של טקסט בקוד שלך 106 00:05:55,690 --> 00:06:00,570 במקום שיש לעשות סוג המוזר הזה של דבר קו שמשתרע על פני כל הקווים השונים. 107 00:06:00,570 --> 00:06:02,450 לדוגמא, בVim אתה יכול לעשות את זה. 108 00:06:02,450 --> 00:06:05,260 אני יכול לסמן את המלבנים כמו זה, שהוא די מגניב, 109 00:06:05,260 --> 00:06:07,950 אבל יתרה מזאת, אני יכול לערוך באמצעות הפונקציונליות ש. 110 00:06:07,950 --> 00:06:12,050 לדוגמא, אם אני רוצה לתת איזה קידומת לשמות של כולנו 111 00:06:12,050 --> 00:06:18,100 אני יכול לסמן בלוק ולאחר מכן להוסיף משהו. 112 00:06:18,100 --> 00:06:22,060 >> באופן דומה, אני יכול גם לסמן הבלוק הזה ובוחר למחוק אותו, 113 00:06:22,060 --> 00:06:26,300 או אולי אני אדגיש הבלוק הזה ולשנות אותו ל-D בגלל שאנחנו כל הרופאים. 114 00:06:26,300 --> 00:06:29,430 מה שזה לא, אתה יכול לעשות את כל הדברים השונים הללו. 115 00:06:29,430 --> 00:06:31,270 לבסוף, הקיפול הוא ממש מגניב. 116 00:06:31,270 --> 00:06:33,840 הרבה אידו יש את זה שבו אתה יכול לקפל פונקציות שונות מחוץ לתצוגה 117 00:06:33,840 --> 00:06:35,590 במקרה שאתה לא רוצה לראות אותם. 118 00:06:35,590 --> 00:06:40,120 לדוגמא, נניח שיש לי זה חבורה של טקסט כאן, ואני לא באמת רוצה לראות את זה. 119 00:06:40,120 --> 00:06:42,710 אני רוצה לשמור את מבטו, כי אני עורך משהו אחר בקובץ. 120 00:06:42,710 --> 00:06:50,580 אני יכול לקפל אותו כך שכל זה התמוטט, 121 00:06:50,580 --> 00:06:52,150 וככה זה מחוץ לתצוגה, 122 00:06:52,150 --> 00:06:54,310 ואני יכול לערוך את דברים אחרים שמופיעים בדף, וזה באמת נהדר. 123 00:06:54,310 --> 00:06:57,550 אתה יכול לקפל את הפונקציות ומה לא, או לקפל את השיעורים כשאתה מתכנת 124 00:06:57,550 --> 00:06:59,380 רק כדי לשמור אותם מחוץ לתצוגה כשאתה לא לערוך אותם, 125 00:06:59,380 --> 00:07:04,330 ומאוחר יותר, כאשר אתה רוצה לראות אותם אתה יכול לפתוח אותם. 126 00:07:04,330 --> 00:07:09,260 ואתה יכול לראות את זה רק פתח את הכל. 127 00:07:09,260 --> 00:07:11,220 כרטיסיות, מאגרים, וחלונות. 128 00:07:11,220 --> 00:07:13,260 Vim הוא די מגניב שב 129 00:07:13,260 --> 00:07:16,280 בדרך כלל בהרבה עורכי טקסט שאתה יכול לערוך רק קובץ אחד בכל פעם, 130 00:07:16,280 --> 00:07:18,960 כמו בNano, או אולי אם אתה משתמש בפנקס רשימות או gedit. 131 00:07:18,960 --> 00:07:21,470 אני בעצם אף פעם לא השתמשתי gedit מאוד, אבל לפחות בNotepad + + 132 00:07:21,470 --> 00:07:26,700 אתה יכול לקבל את כרטיסיות, אבל יש Vim הרעיון של כרטיסיות, מאגרים וחלונות. 133 00:07:26,700 --> 00:07:28,760 לדוגמא, אתה יכול לפתוח את חבורה של כרטיסיות חדשות. 134 00:07:28,760 --> 00:07:31,790 >> אתם יכולים לראות כאן בחלקו העליון יש לי עכשיו חבורה של כרטיסיות, 135 00:07:31,790 --> 00:07:34,350 ואני יכול לסגור אותם. 136 00:07:34,350 --> 00:07:37,550 יתר על כן, יש את המושג הזה של מאגרים, 137 00:07:37,550 --> 00:07:40,110 המהווה את הרעיון שברגע שפתחת את קובץ 138 00:07:40,110 --> 00:07:43,910 הוא נשאר בחיים במאגר, ואם אתה רוצה לנווט לקובץ שממש מהר 139 00:07:43,910 --> 00:07:46,290 אתה יכול לנווט אליו ממש מהר בתוך החיץ, כמו גם, 140 00:07:46,290 --> 00:07:51,890 ויתר על כן, בתוך חלונית אחת אתה יכול גם לפצל החלון שלך לתוך חלונות מרובים. 141 00:07:51,890 --> 00:07:55,890 לדוגמא, אם אני רוצה לפצל את החלון הזה עד לחלונות מרובים 142 00:07:55,890 --> 00:08:00,080 אתה יכול לראות ממש כאן, כי אני יכול לקבל את אותו קוד פעמיים, 143 00:08:00,080 --> 00:08:03,800 ואני יכול לפצל יותר ויותר ויותר, וכרגע זה לא נראה טוב, כי 144 00:08:03,800 --> 00:08:07,340 כי כברירת מחדל יש לי את גודל חלון ברירת המחדל יהיה סוג של גדול 145 00:08:07,340 --> 00:08:09,490 כך שכל האחרים מעכו את, 146 00:08:09,490 --> 00:08:12,000 אבל בדרך כלל כשאני על המחשב שלי ולא על מקרן זה 147 00:08:12,000 --> 00:08:15,920 אני יכול להיות מספר חלוניות לפתוח באותו הזמן, וזה ממש נחמד עבור 148 00:08:15,920 --> 00:08:21,450 עריכת קבצים מרובים באותו הזמן. 149 00:08:21,450 --> 00:08:23,800 גם אתה יכול לקבל דברים כמו לבחור ולהחליף, 150 00:08:23,800 --> 00:08:27,900 ואנחנו באמת נכסה כי בסמינר, 151 00:08:27,900 --> 00:08:29,250 אז אני אדלג כי לעת עתה. 152 00:08:29,250 --> 00:08:32,039 גם אתה יכול לקיים אינטראקציה עם שורת הפקודה בכל מיני דרכים שונות. 153 00:08:32,039 --> 00:08:36,380 לדוגמא, אם יש לי איזו רשימה כאן ואני רוצה למיין אותו, 154 00:08:36,380 --> 00:08:43,039 אני לא יודע, בואו נוסיף עוד פירות, ענבים, 155 00:08:43,039 --> 00:08:45,450 ואני יכול להדגיש את זה באמצעות פונקצית גולת הכותרת 156 00:08:45,450 --> 00:08:48,980 וקוראים לסוג, וזה יהיה למיין אותה באופן אוטומטי בשבילי. 157 00:08:48,980 --> 00:08:52,150 >> באופן דומה, אם אתה הולך להיות עורך CSS, שאני מניח שאתה כנראה יהיה עושה 158 00:08:52,150 --> 00:08:54,190 לפרויקט הגמר שלך, רוב האנשים עושים, 159 00:08:54,190 --> 00:09:00,200 ואולי אתה רוצה לשמור על CSS שלך מאורגן על ידי מיונם לפי סדר אלפביתי. 160 00:09:00,200 --> 00:09:04,410 אתה יכול גם לסמן אותם וקורא לסוג, וזה יהיה למיין אותם בשבילך. 161 00:09:04,410 --> 00:09:07,380 אלה הם חלק מהדוגמות לדברים שVim יכול לעשות, 162 00:09:07,380 --> 00:09:10,760 ותשים לב שהדבר העיקרי שאני באמת רוצה להסב את תשומת הלב ל 163 00:09:10,760 --> 00:09:14,740 הוא שאני עושה הכל מהמקלדת, 164 00:09:14,740 --> 00:09:18,020 ואם אתה מסוגל לראות איפה הידיים שלי מונחות 165 00:09:18,020 --> 00:09:21,210 גם יראו שהידות שלי אף פעם לא באמת לעבור מהשורה בבית. 166 00:09:21,210 --> 00:09:24,790 בדרך כלל כאשר אתה עורך טקסט שאתה בדרך כלל צריך להשתמש בעכבר 167 00:09:24,790 --> 00:09:28,030 ולחץ מסביב ומה לא, וזה סוג של תנועה גורר אותך למטה 168 00:09:28,030 --> 00:09:32,280 וגורם לבזבוז זמן, או אולי אתה נע בין השורה הביתה ומקשי חצים, 169 00:09:32,280 --> 00:09:35,620 ואז אתה נע קדימה ואחורה בצורה כזאת, וזה קצת מסורבל 170 00:09:35,620 --> 00:09:38,750 אלא גם מאט אותך, והדבר הוא ברגע שאתה מקבל ממש טוב בVim 171 00:09:38,750 --> 00:09:42,350 כל מה שאתה רוצה לעשות נעשה מבלי להזיז את הידיים שלך 172 00:09:42,350 --> 00:09:50,730 מהשורה בבית, וזה נהדר. 173 00:09:50,730 --> 00:09:54,870 חכו רגע, אני הולך לפתוח את היישום זה. הנה. 174 00:09:54,870 --> 00:09:58,320 >> עכשיו אתה יכול לראות מה פקודות מפעילים את החלון הימני התחתון. 175 00:09:58,320 --> 00:10:03,190 כל הפונקציות שאני רק הראיתי לך דברים שכלולים כברירת מחדל עם Vim, 176 00:10:03,190 --> 00:10:06,820 אבל יש גם מספר עצום של תוספים שאתה יכול גם להשתמש 177 00:10:06,820 --> 00:10:08,390 כדי לשפר את החוויה של Vim שלך. 178 00:10:08,390 --> 00:10:10,540 אם הוריד את קבצי התצורה שכללתי, 179 00:10:10,540 --> 00:10:13,150 ויש הוראות כיצד להתקין אותם בPowerPoint 180 00:10:13,150 --> 00:10:17,840 וגם במייל ששלחתי, יש לי כ -40 תוספים מותקנים 181 00:10:17,840 --> 00:10:20,490 או אולי 30 תוספים, וכל אחד ואחד 182 00:10:20,490 --> 00:10:24,000 מביא פונקציונלי נוספת לVim שמשפר את החוויה Vim שלך. 183 00:10:24,000 --> 00:10:26,960 לדוגמא, אחד המועדפים שלי הוא משהו שנקרא surround.vim, 184 00:10:26,960 --> 00:10:29,760 וזה בעצם מאפשר לך לעבוד עם סובבים 185 00:10:29,760 --> 00:10:32,200 או תיחום דמויות הרבה יותר בקלות. 186 00:10:32,200 --> 00:10:35,960 >> דוגמא אחת, אני לא יודע אם אתם אי פעם בקוד LaTeX, 187 00:10:35,960 --> 00:10:38,830 אבל LaTeX הוא שפה סדור מתמטיקה כי היא נהגה להכין 188 00:10:38,830 --> 00:10:42,950 מתמטיקה באמת נחמדה למראה, וכל פעם שאתה רוצה משהו שייראה כמו מתמטיקה 189 00:10:42,950 --> 00:10:47,050 אתה עוטף אותו בסימני דולר, ונניח שאני מקליד כמה משוואה כמו F = ma, 190 00:10:47,050 --> 00:10:49,240 ושכחתי לעטוף אותו בסימני דולר. 191 00:10:49,240 --> 00:10:58,270 אז אני יכול להדגיש את זה ולעטוף אותו בסימני דולר סתם ככה. 192 00:10:58,270 --> 00:11:03,640 לחלופין, Vim מאפשר לך למחוק את דברים בתוך תגים 193 00:11:03,640 --> 00:11:07,300 ולמחוק את התגים ומה לא, אבל Vim על ידי הטבע 194 00:11:07,300 --> 00:11:10,400 לא מאפשר לך לשנות את התגים, ולכן לדוגמא, יש לי תג div הזה, 195 00:11:10,400 --> 00:11:13,060 ואני רוצה לשדרג ל-HTML5 ולהשתמש בתג כותרת חדש. 196 00:11:13,060 --> 00:11:22,290 אני יכול לעשות את השינוי סביב תג וסוג בכותרת, 197 00:11:22,290 --> 00:11:26,540 וזה יהיה באופן אוטומטי לשנות את זה בשבילי. 198 00:11:26,540 --> 00:11:29,620 כמו כן, נניח שיש לנו משהו בסוגריים, 199 00:11:29,620 --> 00:11:33,230 ואני רוצה לשנות את זה מסוגריים לסוגריים או משהו כזה. 200 00:11:33,230 --> 00:11:36,520 אני יכול גם לשנות את זה ממש בקלות על ידי ההקלדה בג לשינוי, 201 00:11:36,520 --> 00:11:39,330 ים לסראונד, סוגריים. 202 00:11:39,330 --> 00:11:42,170 הו, אני מניח שאני צריך להקליד אותה מהר יותר. 203 00:11:42,170 --> 00:11:45,380 סוגריים וסוגריים או בסוגריים, וזה יהיה באופן אוטומטי לשנות את זה בשבילי, 204 00:11:45,380 --> 00:11:48,570 וזה באמת נחמד, אחר בדרך כלל זה באמת מסורבל. 205 00:11:48,570 --> 00:11:51,310 >> זה ממש נחמד לעבור בין ציטוט אולי אחת 206 00:11:51,310 --> 00:11:53,060 ומחרוזות ציטוט כפולות או משהו כזה. 207 00:11:53,060 --> 00:11:56,250 זה מקרה, למשל שימוש אחד. 208 00:11:56,250 --> 00:11:58,750 יש תוסף בשם נמלט 209 00:11:58,750 --> 00:12:00,260 אשר משתלב עם Git. 210 00:12:00,260 --> 00:12:03,000 אני מנחש שאולי אתם לא השתמשנו Git כך הרבה בCS50, 211 00:12:03,000 --> 00:12:05,530 אבל אתה תמצא את עצמך באמצעות Git יותר ויותר ויותר, 212 00:12:05,530 --> 00:12:09,530 לא רק בכיתות בכל רחבי אוניברסיטת הרווארד, אלא גם במקומות עבודה ומה לא, 213 00:12:09,530 --> 00:12:12,650 ובדרך כלל אתה צריך לעבור קדימה ואחורה בין 214 00:12:12,650 --> 00:12:15,950 שורת הפקודה וVim לקיים אינטראקציה עם גית, 215 00:12:15,950 --> 00:12:18,590 אבל יש תוספים לשלב עם Git מתוך Vim 216 00:12:18,590 --> 00:12:23,020 וגם לתת לך אפילו פונקציונלי נוסף על גבי Git. 217 00:12:23,020 --> 00:12:25,520 יש משהו שנקרא NERDTree, שבו אתה יכול להשתמש בו כדי לחקור 218 00:12:25,520 --> 00:12:27,860 מבני קובץ מתוך Vim. 219 00:12:27,860 --> 00:12:31,710 >> לדוגמא, אני יכול לפתוח NERDTree בחלונית הימנית, 220 00:12:31,710 --> 00:12:35,100 ואתה בעצם יכול לראות קבצים אקראיים 221 00:12:35,100 --> 00:12:38,720 ומסים לא פתוחים, לא מסתכלים על המסים שלי. 222 00:12:38,720 --> 00:12:43,460 אתה יכול להסתכל בקבצים ומה לא ולפתוח קבצים אחרים וכן הלאה וכן הלאה. 223 00:12:43,460 --> 00:12:47,610 ואני לא אכנס לתוספים אחרים האלה, ולכן אנחנו בעצם יכולים לצלול ב 224 00:12:47,610 --> 00:12:51,640 ולהתחיל לעבוד על Vim, אבל יש תוספים שמאפשרים לך 225 00:12:51,640 --> 00:12:55,420 להגיב בקלות רבה יותר, תוספים שמאפשרים לך לקפוץ בין קבצים בקלות רבה יותר, 226 00:12:55,420 --> 00:12:57,820 תוספים שנותנים לך בודק תחביר מתוך Vim, 227 00:12:57,820 --> 00:13:00,210 וזה ממש מגניב, וזה נותן לך בדיקת תחביר 228 00:13:00,210 --> 00:13:03,710 עבור רוב שפות נכתבות מימין מחוץ לקופסה, 229 00:13:03,710 --> 00:13:07,460 דברים כמו סוגריים קשת, שהוא למעשה ממש, ממש מגניב. 230 00:13:07,460 --> 00:13:09,110 תן לי לתת לך דוגמא לכך עכשיו. 231 00:13:09,110 --> 00:13:11,150 >> בואו לראות. 232 00:13:11,150 --> 00:13:15,460 הנה כמה קוד אקראי שאני כותב, 233 00:13:15,460 --> 00:13:19,720 ותשימו לב שהסוגריים והסוגריים כולם צבעוניים, 234 00:13:19,720 --> 00:13:26,120 וסוגריים וסוגריים מאותו הצבע תואמים, וזה נחמד 235 00:13:26,120 --> 00:13:29,380 ולפעמים משפר את הקריאות של הקוד שלך. 236 00:13:29,380 --> 00:13:32,030 יש לך גם השלמה אוטומטית, עיצוב טבלאי. 237 00:13:32,030 --> 00:13:37,240 כאשר יש לך משהו שאתה רוצה לקבל את כל ההערות בשורה 238 00:13:37,240 --> 00:13:40,820 או שאתה רוצה להפוך את טבלה בטקסט שלך ואתה רוצה 239 00:13:40,820 --> 00:13:43,870 לקבל כל מה שנראה כמו שולחן נחמד, במקום שיש לעצב את זה באופן ידני 240 00:13:43,870 --> 00:13:46,830 יש תוספים שיהיה לעצב את זה בשבילך וכן הלאה וכן הלאה. 241 00:13:46,830 --> 00:13:49,400 הרשימה נמשכת עוד ועוד ועוד. 242 00:13:49,400 --> 00:13:53,890 אני יכול לבלות שעות לחקור את כל תוספי Vim השונים שקיימים, 243 00:13:53,890 --> 00:13:59,780 וזה מדהים מה יש שם בחוץ. 244 00:13:59,780 --> 00:14:05,880 >> כל שאלות עד כה? מתוק. 245 00:14:05,880 --> 00:14:10,180 במקרה זה, אנחנו הולכים להתחיל לשחק מסביב עם Vim, 246 00:14:10,180 --> 00:14:12,620 ואני רוצה שחבר 'ה לעבוד עם כמה Vim איתי 247 00:14:12,620 --> 00:14:17,650 כך שאתה יכול לקבל תחושה של זה, ואני יכול להדריך אותך בשלבי העבודה עם Vim הראשון שלך 248 00:14:17,650 --> 00:14:20,590 כי הרבה אנשים מקבלים המומים כאשר הם פותחים את Vim, 249 00:14:20,590 --> 00:14:24,730 ולפעמים, אם אתה לא יודע אפילו את הפקודה כדי לצאת אתה אפילו לא יכול לצאת מVim, 250 00:14:24,730 --> 00:14:26,350 אבל זה לא כל כך רע. 251 00:14:26,350 --> 00:14:28,820 אתה רק צריך כמה דקות של הדרכה ממישהו שהשתמש Vim לפני 252 00:14:28,820 --> 00:14:32,220 או לקרוא כמה מדריכים באינטרנט, ואתה תהיה על הדרך שלך בתוך זמן קצר. 253 00:14:32,220 --> 00:14:34,570 הנה כמה הוראות להתקנת Vim אם יש לך כבר. 254 00:14:34,570 --> 00:14:39,130 אתה יכול להסתכל בשקופיות אלה לאחר המצגת, אם ברצונך להתקין יותר דברים. 255 00:14:39,130 --> 00:14:42,660 >> כמו כן, אלה הם כמה הוראות להתקנת קבצי התצורה שלי, 256 00:14:42,660 --> 00:14:48,230 ואתה גם יכול לעקוב אחר הוראות הבאות מאוחר יותר, אם יש לך כבר. 257 00:14:48,230 --> 00:14:52,390 אם אתם יכולים ללכת לקישור זה ולהוריד קובץ טקסט. 258 00:14:52,390 --> 00:14:56,640 הקישור יוביל אתכם לקובץ הטקסט הזה, שאני רוצה לך להוריד ולפתוח בVim, 259 00:14:56,640 --> 00:15:01,580 ויש חבורה של תרגילים ומה לא שם, כי אתה יכול לעקוב אחר איתי 260 00:15:01,580 --> 00:15:09,160 ולהתחיל לקבל חלק באימון עם כמה פעולות הבסיסיות בVim. 261 00:15:09,160 --> 00:15:12,740 טוב. 262 00:15:12,740 --> 00:15:18,430 בזמן שאתה פותח את זה אני הולך לתת מבוא קצר ל2 עקרונות באמת מפתח 263 00:15:18,430 --> 00:15:23,080 בעריכת Vim שהם באמת חשובים להבין לפני שאתם צוללים לתוך Vim, 264 00:15:23,080 --> 00:15:25,720 וזה עריכה ומפעילים ותנועות מודאלית. 265 00:15:25,720 --> 00:15:28,600 אני ראשון אכסה עריכה מודאלית, ולאחר מכן נצטרך לכסות מפעילים ותנועות 266 00:15:28,600 --> 00:15:30,980 בקצת. 267 00:15:30,980 --> 00:15:36,910 >> ההבחנה המפתח הראשון בין Vim ופחות או יותר כל אחר 268 00:15:36,910 --> 00:15:39,870 עורכי טקסט מכל סוג שהוא שVim הוא עורך מודאלית, 269 00:15:39,870 --> 00:15:42,260 ומה זה אומר כאשר אתה משתמש Vim 270 00:15:42,260 --> 00:15:44,120 אתה יכול להיות באחד ממצבים רבים ושונים. 271 00:15:44,120 --> 00:15:46,590 יש מצב רגיל, יש מצב הכנסה, יש מצב חזותי, 272 00:15:46,590 --> 00:15:50,790 כן הלאה וכן הלאה, והדבר הוא, הקשות שלך לקחת על פעולות שונות, 273 00:15:50,790 --> 00:15:54,160 מקבל משמעות שונה, תלוי מה מצבך נמצא בו 274 00:15:54,160 --> 00:15:58,110 רק כדוגמא, במצב נורמלי הוא המצב שאת בעת המעבר בסביבה, 275 00:15:58,110 --> 00:16:01,820 וכך הייתי משתמש J המפתח לנוע כלפי מטה, 276 00:16:01,820 --> 00:16:05,430 אבל במצב הכנסה, אתה משתמש J המפתח ממש להקליד J על המסך, 277 00:16:05,430 --> 00:16:08,230 ובגלל זה הרבה אנשים מתבלבלים, כי הם לא רגילים ל 278 00:16:08,230 --> 00:16:11,630 להיות במצבים שונים כל הזמן, ולכן הם תהיו להקליד את דברים, 279 00:16:11,630 --> 00:16:14,490 ואתה רגיל לכך שכל מה שאתה מקליד מופיע על המסך, 280 00:16:14,490 --> 00:16:18,370 אבל בVim אולי הסמן נע בכל המקום 281 00:16:18,370 --> 00:16:21,020 בגלל שאתה מקליד תווים מוזרים, ופתאום אתה מקבל 282 00:16:21,020 --> 00:16:24,710 עבר למצב הכנסה משום שהקלדת כמה מפתח 283 00:16:24,710 --> 00:16:27,150 שמכניס אותך למצב הכנסה, ולאחר מכן טקסט מתחיל עף החוצה, 284 00:16:27,150 --> 00:16:29,940 ולכן אנשים מתבלבלים בגלל זה. 285 00:16:29,940 --> 00:16:32,960 אבל אתה צריך לעקוב אחר מה מצב אתה נמצא, 286 00:16:32,960 --> 00:16:35,260 ואם אתה מסתכל על סרגל הכלים מאוד תחתון של Vim 287 00:16:35,260 --> 00:16:37,410 לא צריך להיות אינדיקטור שאומר לך מה מצבך כרגע ב, 288 00:16:37,410 --> 00:16:39,350 שאמורה להיות מועיל. 289 00:16:39,350 --> 00:16:42,650 >> אבל באופן כללי, 3 המצבים העיקריים שאתה צריך לדעת על, 290 00:16:42,650 --> 00:16:46,440 יש רק כנראה 6 או 7 או 8 מצבים או כך, 291 00:16:46,440 --> 00:16:49,180 אבל אתה מבלה את רוב זמנך ב3. 292 00:16:49,180 --> 00:16:52,150 הדבר הראשון הוא מצב רגיל. זה מקום בו אתה מבלה את רוב הזמן שלך. 293 00:16:52,150 --> 00:16:55,620 כל ההקשות נרשמות כסוג מסוים של הפקודה, 294 00:16:55,620 --> 00:16:58,870 ויהיה לנו ללמוד הרבה פקודות אלה במהלך היום היום. 295 00:16:58,870 --> 00:17:03,160 המצב האחר הוא מצב הכנסה, שבה אתה בעצם מקליד את דברים, 296 00:17:03,160 --> 00:17:06,410 ומצב הכנסה הוא בעצם המצב שאתה בדרך כלל אתה רגיל. 297 00:17:06,410 --> 00:17:08,650 אתה מקליד משהו, וזה פשוט מגיע על המסך, 298 00:17:08,650 --> 00:17:11,800 ומצב ראייה הוא משהו שבו אתה יכול לעשות הדגשה. 299 00:17:11,800 --> 00:17:14,750 ראית מוקדם יותר שבו לפעמים הייתי הדגשת טקסט 300 00:17:14,750 --> 00:17:21,900 וטיפול בו בדרכים שונות, וזה דוגמא שימוש במצב ראייה. 301 00:17:21,900 --> 00:17:27,819 >> אנחנו נתחיל עם היסודות מוחלטים שאתה צריך כדי לשרוד בVim, 302 00:17:27,819 --> 00:17:30,610 וזה בעצם 7 פקודות אלה ממש כאן. 303 00:17:30,610 --> 00:17:34,250 Hjkl משמשים כדי לנווט את הקובץ, 304 00:17:34,250 --> 00:17:37,140 והם מתאימות לשמאל, למטה, למעלה, ומשמאל, 305 00:17:37,140 --> 00:17:39,460 ואתה חופשי להשתמש במקשי החצים, כמו גם, 306 00:17:39,460 --> 00:17:43,110 אבל אנחנו באמת ממליצים לך להשתמש hjkl ככל האפשר 307 00:17:43,110 --> 00:17:46,690 כי הרעיון הוא שבזמן שאתה העורך, אתה יכול להסתובב במסמך 308 00:17:46,690 --> 00:17:49,350 מבלי לעבור בין מקשי החצים 309 00:17:49,350 --> 00:17:52,210 והיכן אתה שאתה מקליד, שהוא ממש, ממש נחמד. 310 00:17:52,210 --> 00:17:54,390 אתה פשוט רוצה להעביר כמה תווים מעל. 311 00:17:54,390 --> 00:17:58,020 אתה לא צריך להעביר אותך כל היד מעל, וזה די נחמד שיש את זה. 312 00:17:58,020 --> 00:18:01,920 מומחי Vim כמה בעצם מפת מקשי החיצים שלהם לפונקציות אחרות 313 00:18:01,920 --> 00:18:06,880 כי כבר יש להם hjkl, והם יכולים להשתמש במקשי החיצים שלהם לפונקציות אחרות גם כן. 314 00:18:06,880 --> 00:18:09,080 Hjkl עובר לך בסביבה בזמן שאתה במצב רגיל. 315 00:18:09,080 --> 00:18:11,650 אם אתה רוצה להיכנס למצב הכנסה ולהקליד משהו 316 00:18:11,650 --> 00:18:15,370 אתה יכול ללחוץ עליי למצב הכנסה, וזה מעמיד במצב הכנסתך, 317 00:18:15,370 --> 00:18:17,820 ואתה יכול להקליד משהו, ואתה מקליד בריחה 318 00:18:17,820 --> 00:18:20,270 כדי להגיע ממצב כניסה חזרה למצב רגיל. 319 00:18:20,270 --> 00:18:23,280 הבריחה תמיד שולחת אותך חזרה למצב רגיל 320 00:18:23,280 --> 00:18:26,740 לא משנה מה מצב אתה נמצא, ואם אתה רוצה לעזוב 321 00:18:26,740 --> 00:18:29,760 באפשרותך להקליד ב: wq להיכנס, 322 00:18:29,760 --> 00:18:32,640 והדרך בה אתה יכול לזכור את זה היא w דוכנים לכתיבה, 323 00:18:32,640 --> 00:18:34,960 וq מייצג להתפטר, אז: wq, 324 00:18:34,960 --> 00:18:39,680 ומעי גס מפעיל את הפקודה, וכן: WQ להיכנס להפעיל את הפקודה 325 00:18:39,680 --> 00:18:41,840 חוסך ויציאות. 326 00:18:41,840 --> 00:18:46,700 >> אם אתה פותח את הקובץ נלך דרך התרגיל הראשון יחד. 327 00:18:46,700 --> 00:18:49,450 שלב 1 הוא לשרוד בVim, 328 00:18:49,450 --> 00:18:53,490 ואני מקווה שאתם כל מה שיש זה פתוח. 329 00:18:53,490 --> 00:18:58,460 טוב, ויש לנו כמה תרגילים פשוטים כדי שתוכלו להתרגל לשימוש במקשים אלו. 330 00:18:58,460 --> 00:19:03,000 Hjkl באמת לא נראה אינטואיטיבי בהתחלה, 331 00:19:03,000 --> 00:19:08,710 וזו היא אחת מאבני הראשוניים שיש לאנשים תוך שימוש בVim 332 00:19:08,710 --> 00:19:10,820 הוא באמצעות מקשים אלה לניווט בסביבה. 333 00:19:10,820 --> 00:19:13,650 זה לא אינטואיטיבי, אבל ברגע שאתה מתרגל לזה 334 00:19:13,650 --> 00:19:19,590 זה באמת משתלב לתוך המוח שלך, ואנשים רבים מוצאים את עצמם לעתים קרובות 335 00:19:19,590 --> 00:19:23,550 באמצעות J ו-K ב-Word או גם בכרום, 336 00:19:23,550 --> 00:19:26,530 ודווקא אנשים יצרו תוסף הכרום הזה שנקרא Vimium 337 00:19:26,530 --> 00:19:29,220 שבו אתה יכול להשתמש בכרום או כרום כדי לנווט Chrome 338 00:19:29,220 --> 00:19:31,380 שימוש במקלדת באמצעות קיצורים כמו Vim, 339 00:19:31,380 --> 00:19:35,050 כך שאנשים מאוד מתלהבים מזה, אבל אתם מוזמנים לנסות ושימוש 340 00:19:35,050 --> 00:19:41,720 Hjkl כדי לנווט בין המספרים רק כדי שתוכל להכיר 341 00:19:41,720 --> 00:19:45,660 עם איך שהדברים האלה עובדים. 342 00:19:45,660 --> 00:19:50,440 >> לאחר שתסיים את זה, אתה יכול גם ללכת ולשחק עם המבוך הזה שיצרתי 343 00:19:50,440 --> 00:19:53,580 רק בשביל כיף, ואתה יכול לעקוב אחר סוג של הקו המקווקו 344 00:19:53,580 --> 00:19:59,060 ומנסה לא לקרוס לתוך הקירות 345 00:19:59,060 --> 00:20:07,860 ולנסות להפוך אותו לסוף המבוך. 346 00:20:07,860 --> 00:20:11,840 אם אתה משתמש בקיצורי דרך ב-Gmail או כל מספר של יישומים שונים 347 00:20:11,840 --> 00:20:15,130 תמצא כי J ו-K, למשל, משמשים לעתים קרובות כדי לנוע למעלה ולמטה, 348 00:20:15,130 --> 00:20:19,930 ושבעצם מגיע מVim במהות, אז יש לך J ו-K, 349 00:20:19,930 --> 00:20:22,690 וזה ממש נחמד, כי אתה יכול לנוע למעלה ולמטה מבלי 350 00:20:22,690 --> 00:20:26,210 להזיז את היד שלך הלוך ושוב ממקשי החצים. 351 00:20:26,210 --> 00:20:29,410 עכשיו בואו ננסה להיכנס למצב כניסה ויציאה ממצב כניסה. 352 00:20:29,410 --> 00:20:34,370 שימו לב שכרגע הסמן שלי הוא תיבה גדולה, שחורה, 353 00:20:34,370 --> 00:20:37,300 וכשאתה נכנסת למצב הכנסה אתה צריך למצוא כי 354 00:20:37,300 --> 00:20:39,670 הוא הופך לסמן צר כמו שאתה רגיל. 355 00:20:39,670 --> 00:20:43,730 אם אתה משתמש Vim בטרמינל אתה לא יכול למצוא את זה כדי להיות המקרה 356 00:20:43,730 --> 00:20:46,970 כי המסוף אינו תומך דק סמן מסוג זה, 357 00:20:46,970 --> 00:20:49,890 אבל אם אתה משתמש MacVim או GVim על Windows 358 00:20:49,890 --> 00:20:54,590 אז אתה צריך למצוא שהוא הופך לסמן, וזה אינדיקציה ויזואלית מהירה באמת. 359 00:20:54,590 --> 00:20:58,270 זה בשבילך כדי לדעת אם אתה במצב רגיל או במצב כניסה. 360 00:20:58,270 --> 00:21:02,890 >> בואו נלך קדימה ולנסות לערוך את הקו הזה. 361 00:21:02,890 --> 00:21:06,220 מלא אותו עם המידע שלך או מה שזה לא, 362 00:21:06,220 --> 00:21:11,750 ואיך אתה יכול לעשות את זה הוא שאתה יכול להעביר עד סוף הריק, 363 00:21:11,750 --> 00:21:16,040 הקלד i להיכנס למצב כניסה, ואתה יכול Backspace 364 00:21:16,040 --> 00:21:21,100 ולהקליד את השם שלך, וכשתסיימו להקליד 365 00:21:21,100 --> 00:21:26,520 אתה יכול ללחוץ על בריחה לצאת ממצב ההכנסה, 366 00:21:26,520 --> 00:21:35,930 ואתה יכול לעבור לכאן, להוסיף סוג ללמחוק אותה, 367 00:21:35,930 --> 00:21:42,700 הקלד בריחה לצאת ממצב ההכנסה, ואתה יכול להקליד: w להיכנס 368 00:21:42,700 --> 00:21:44,720 כדי לשמור את הקובץ. 369 00:21:44,720 --> 00:21:47,420 אתה יכול להקליד רק: w כדי לשמור את הקובץ. 370 00:21:47,420 --> 00:21:50,560 אתה יכול להקליד רק: q כדי לצאת מבלי לשמור, 371 00:21:50,560 --> 00:21:53,750 או שאתה יכול להקליד: wq כדי לשמור ולצאת. 372 00:21:53,750 --> 00:21:58,850 אמנם, אנחנו לא רוצים להפסיק עדיין, כך שתוכלו להקליד: w. 373 00:21:58,850 --> 00:22:01,780 ואולי זה נראה קצת לא יעיל בהתחלה 374 00:22:01,780 --> 00:22:05,600 כי כדי לעבור למקום שהיית צריך להקליד J חבורה של פעמים, 375 00:22:05,600 --> 00:22:08,670 אולי L חבורה של פעמים כדי להגיע למקום הזה, 376 00:22:08,670 --> 00:22:11,260 ואתה צריך ללחוץ על backspace חבורה של פעמים, וזה נראה ממש לא יעיל 377 00:22:11,260 --> 00:22:13,260 בעוד שבדרך כלל אתה כנראה היה להזיז את העכבר מעל לשם, 378 00:22:13,260 --> 00:22:15,880 לחץ לחיצה כפולה ולהתחיל להקליד, וכמובן, 379 00:22:15,880 --> 00:22:19,190 העניין הוא, שכשאתה מתחיל עם Vim ואתה יודע רק פקודות בסיסיות אלה, 380 00:22:19,190 --> 00:22:22,810 כן, זה יהיה קצת איטי, אבל עד מהרה אתה לומד כמה פקודות חזקות יותר, 381 00:22:22,810 --> 00:22:26,380 אשר יאפשר לכם לנוע במסמכים במהירות רבה יותר, 382 00:22:26,380 --> 00:22:29,410 ואתה לא צריך שתהיה לי שימוש מסורבל מאוד זה של 383 00:22:29,410 --> 00:22:34,330 חוזר JS ו חוזר וKs Ls וכן הלאה וכן הלאה. 384 00:22:34,330 --> 00:22:41,340 >> כל שאלות עד כה? מוצק. 385 00:22:41,340 --> 00:22:44,000 חזור ל- PowerPoint. 386 00:22:44,000 --> 00:22:49,140 עכשיו אנחנו הולכים להציג עוד כמה פקודות לתנועה מתקדמת. 387 00:22:49,140 --> 00:22:52,680 אתה חוויתם צורך להקליד אולי L או H הרבה הרבה, 388 00:22:52,680 --> 00:22:57,200 והנה כמה פקודות ככל שאתה יכול להשתמש בו כדי לנוע במהירות רבה יותר. 389 00:22:57,200 --> 00:23:02,990 נניח כי הסמן נמצא בO מעל בכמה ב" זה טקסט כלשהו, ​​" 390 00:23:02,990 --> 00:23:06,840 והנה 5 פקודות ככל שאתה יכול להשתמש בו כדי לעבור מעבר לקו בקלות רבה יותר. 391 00:23:06,840 --> 00:23:09,820 אז ^ ו$ להעביר לך את ההתחלה ואת סוף השורה, 392 00:23:09,820 --> 00:23:14,300 וכאשר אתה לומד בשלב מסוים בביטויים רגילים או כל מיני דברים אחרים 393 00:23:14,300 --> 00:23:17,390 תמצא כי סוג של אמנות אלו הם נפוצים מאוד. 394 00:23:17,390 --> 00:23:19,360 ^ בדרך כלל מתייחס לתחילת השורה. 395 00:23:19,360 --> 00:23:21,090 $ מתייחס בדרך כלל לסוף השורה. 396 00:23:21,090 --> 00:23:24,130 אלה קלים מאוד לזכור, ובאופן דומה, B, E, ו-W, 397 00:23:24,130 --> 00:23:28,340 הם קלים לזכור גם כי ב מתאים לגיבוי או התחלה, 398 00:23:28,340 --> 00:23:30,630 דואר מתאים לסוף, שהוא סוף המילה, 399 00:23:30,630 --> 00:23:35,530 וw תואם את המילה הבאה, ולכן w במילה. 400 00:23:35,530 --> 00:23:37,750 ואם תמשיכו להקליד דואר או המשך להקליד w 401 00:23:37,750 --> 00:23:43,520 אתה שם לב שאתה יכול לקפוץ בין מילות, וזה הרבה יותר מהר מאשר רק הקלדת ליטר. 402 00:23:43,520 --> 00:23:46,600 >> עכשיו, הדבר הבא הוא דגם המפעיל-Motion. 403 00:23:46,600 --> 00:23:50,310 זו בעצם אחת הסיבות העיקריות מדוע Vim יכול להיות כל כך חזק, 404 00:23:50,310 --> 00:23:54,890 וזה בגלל שאתה בעצם יכול לחבר אלמנטים שונים 405 00:23:54,890 --> 00:23:58,250 לפונקציות חזקות יותר, ולכן בדרך כלל 406 00:23:58,250 --> 00:24:01,000 כשאתה עושה משהו בVim שאתה יכול לחשוב על זה כעל 407 00:24:01,000 --> 00:24:03,280 שילוב של מפעיל עם תנועה. 408 00:24:03,280 --> 00:24:07,310 עד כה יש לנו רק עסקתי בתנועות, כמו hjkl. 409 00:24:07,310 --> 00:24:10,770 הם עוברים אותך בסביבה, ולאחר מכן ב ו w, הם גם להעביר לך דרכים שונות בסביבה, 410 00:24:10,770 --> 00:24:14,600 אבל אנחנו לא הלכנו עדיין להיות מסוגלים למחוק דברים או לשנות דברים או מה שלא, 411 00:24:14,600 --> 00:24:19,320 וכאשר אתה משלב מפעילים בתנועות אז אתה מסוגל לקבל 412 00:24:19,320 --> 00:24:22,510 הרבה יותר חזק השפעות, כך לדוגמא, 413 00:24:22,510 --> 00:24:26,360 אם אני רוצה למחוק 2 מילות, אני יכול להשתמש בד למפעיל המחיקה, 414 00:24:26,360 --> 00:24:29,420 ואני יכול להוסיף 2 כדי לציין שאני רוצה למחוק 2 מילות, 415 00:24:29,420 --> 00:24:31,130 ולאחר מכן אני כולל תנועה. 416 00:24:31,130 --> 00:24:33,490 אני יכול לכלול w לומר למחוק 2 מילות. 417 00:24:33,490 --> 00:24:37,740 אני יכול להשתמש במשהו כמו J לומר למחוק 2 פעמים כלפי מטה 418 00:24:37,740 --> 00:24:39,880 ולמחוק 2 שורות מתחתיי. 419 00:24:39,880 --> 00:24:43,870 אני יכול לומר D2B למחוק לאחור פעמיים, 420 00:24:43,870 --> 00:24:46,450 ויש אפילו יותר תנועות מאלו שאני כבר מוצג כאן 421 00:24:46,450 --> 00:24:52,120 באמת, באמת לעשות עריכת Vim שלך הרבה יותר חזקה. 422 00:24:52,120 --> 00:24:55,450 >> אלה הם חלק מפופולריים או המפעילים הנפוצים ביותר ביותר 423 00:24:55,450 --> 00:24:57,030 והם די קלים לזכור גם כן. 424 00:24:57,030 --> 00:24:59,040 D למחיקה, ג לשינוי. 425 00:24:59,040 --> 00:25:01,560 C הוא בעצם בדיוק את אותו הדבר כמו שינוי פרט לכך 426 00:25:01,560 --> 00:25:05,990 כאשר אתה משתמש בג אתה מקבל באופן אוטומטי הכניס לתוך מצב הכנסה לאחר מכן. 427 00:25:05,990 --> 00:25:08,050 בדרך כלל כאשר אתה משתמש במחיקה אתה משתמש בו ממצב רגיל, 428 00:25:08,050 --> 00:25:10,950 ואחרי שאתה מוחק משהו שאתה להישאר במצב רגיל. 429 00:25:10,950 --> 00:25:13,380 אבל אם אתה רוצה לשנות משהו, אתה יכול להשתמש בג 430 00:25:13,380 --> 00:25:15,960 כדי למחוק משהו ואז ללכת מייד למצב הכנסה 431 00:25:15,960 --> 00:25:17,740 כך שאתה יכול להתחיל להקליד ולתקן משהו. 432 00:25:17,740 --> 00:25:21,160 Y הוא למשיכה חזקה. 433 00:25:21,160 --> 00:25:25,130 זה בעצם הרעיון של Vim של העתקה. 434 00:25:25,130 --> 00:25:29,220 לדוגמא, אם אני רוצה להעתיק את 2 המילים הבאות שאני יכול לעשות y2w או משהו כזה, 435 00:25:29,220 --> 00:25:32,120 וv הוא להבלטה, במהות. 436 00:25:32,120 --> 00:25:35,550 וגם מה שבאמת מגניב הוא אם תקליד מפעיל פעמיים 437 00:25:35,550 --> 00:25:38,890 היא תפעל בכל שורה, כך שאם אני רוצה למחוק את כל השורה 438 00:25:38,890 --> 00:25:41,060 אני יכול להקליד dd כדי למחוק את הקו כולו, 439 00:25:41,060 --> 00:25:47,370 או אם אני רוצה להעתיק את כל השורה שאני יכול להשתמש yy או משהו כזה. 440 00:25:47,370 --> 00:25:51,600 >> בואו ננסה את זה עוד קצת. 441 00:25:51,600 --> 00:25:56,280 יש תרגיל כאן למפעיל תנועה מתקדם, כמו גם 442 00:25:56,280 --> 00:25:59,230 ואפילו כמה דברים אחרים שאני לא הולך לכסות בPowerPoint היום, 443 00:25:59,230 --> 00:26:02,250 אבל אתה יכול להרגיש חופשי להסתכל עליהם מאוחר יותר ולשחק עימם 444 00:26:02,250 --> 00:26:05,990 ולהכיר אותם. 445 00:26:05,990 --> 00:26:07,630 מפעילים ותנועות. 446 00:26:07,630 --> 00:26:14,220 לדוגמא, נניח שיש 2 מילות אלה אתה רק רוצה למחוק במשפט. 447 00:26:14,220 --> 00:26:17,110 מה אתה רוצה לעשות הוא שאתה רוצה לוודא כי שלך 448 00:26:17,110 --> 00:26:21,000 סמן נמצא בתחילת המילה הראשונה שאתה רוצה למחוק, 449 00:26:21,000 --> 00:26:26,230 ואתה יכול להקליד בd2w, וזה יהיה למחוק 2 המילים האלה בשבילך. 450 00:26:26,230 --> 00:26:33,140 והשימוש בפקודה, d2w הזה בדיוק, אולי נראה קצת מסורבל 451 00:26:33,140 --> 00:26:35,940 וחסר טעם, אבל זה אמור לבטא את הרעיון 452 00:26:35,940 --> 00:26:39,380 כי אתה יכול לחבר דברים השונים הללו, וגם רק במקרה 453 00:26:39,380 --> 00:26:42,730 אתה במקרה במצב, אז אתה יכול בסופו של דבר באמצעות DW או d2w, 454 00:26:42,730 --> 00:26:45,600 שבו אני משתמש מדי פעם. 455 00:26:45,600 --> 00:26:50,030 Dd וסמ"ק אני משתמש לעתים קרובות הרבה יותר, כי אתה יכול לפעול על כל קווים. 456 00:26:50,030 --> 00:26:52,000 >> לדוגמא, נניח שיש לי הרשימה האקראית הזה כאן, 457 00:26:52,000 --> 00:26:59,030 ואולי אני רוצה למחוק את השורה שאומרת האסקים כי זה לא מתאים, רק בגלל, 458 00:26:59,030 --> 00:27:01,200 ואני לא רוצה שזה יעבור למצב הכנסה לאחר מכן. 459 00:27:01,200 --> 00:27:03,530 אני רוצה למחוק אותו, ובמקרה זה אני יכול להקליד dd, 460 00:27:03,530 --> 00:27:07,090 ושימחק את כל השורה. 461 00:27:07,090 --> 00:27:11,680 אבל בואו נגיד שעכשיו יש קו שאני רוצה למחוק אחר זה, 462 00:27:11,680 --> 00:27:16,850 אבל אני גם רוצה לתקן אותו ולכתוב אותו מחדש, ובמקרה זה אני אנסה משהו כמו סמ"ק, 463 00:27:16,850 --> 00:27:19,550 וזה מוחק את כל השורה, אלא מעמיד אותי במצב הכנסה, כפי שאתה יכול לראות, 464 00:27:19,550 --> 00:27:24,970 ואני יכול לתקן את זה משם. 465 00:27:24,970 --> 00:27:28,510 ויש דרכים רבות ושונות אתה יכול לשלב את מפעילים ותנועות, 466 00:27:28,510 --> 00:27:31,360 וכפי שאתה משתמש Vim יותר ויותר אתה לומד יותר על דרכים שונות 467 00:27:31,360 --> 00:27:36,300 אתה יכול להשתמש בפקודות אלה, ואתה אהיה יותר ויותר טוב. 468 00:27:36,300 --> 00:27:40,180 מדהים, עכשיו הנה כמה פקודות שונות אחרות 469 00:27:40,180 --> 00:27:44,700 שגם הם מאוד, מאוד נפוץ וגם יעזרו לך להיות טוב יותר בVim. 470 00:27:44,700 --> 00:27:48,780 >> לדוגמא, דיברנו על אותיות קטנות v להבלטה חזותית. 471 00:27:48,780 --> 00:27:51,530 אנחנו יכולים גם להשתמש באותיות גדולות V להדגשת קו הראייה. 472 00:27:51,530 --> 00:27:55,880 ככה אתה יכול לסמן את הקווים שלמים בזמן הרבה יותר בקלות. 473 00:27:55,880 --> 00:27:59,180 אתה יכול להשתמש בo כשאתה במצב רגיל בעצם להוסיף שורה חדשה 474 00:27:59,180 --> 00:28:03,620 מתחת לקו שאתה בשלב זה והכניס אותו למצב כניסה להתחל להקליד. 475 00:28:03,620 --> 00:28:07,270 אתה יכול להשתמש בx הקטנה כדי למחוק את התו שכרגע תחת הסמן. 476 00:28:07,270 --> 00:28:10,230 אתה יכול גם להשתמש u כדי לבטל, וזה די נחמד, 477 00:28:10,230 --> 00:28:14,180 ואתה יכול להשתמש בהון להוספה לסוף השורה הנוכחית, 478 00:28:14,180 --> 00:28:18,310 אז אולי הסמן נמצא איפשהו על הקו, ושרצונך להוסיף לסוף השורה. 479 00:28:18,310 --> 00:28:21,150 ואז אתה יכול להקליד הון לקפוץ מייד לסוף התור 480 00:28:21,150 --> 00:28:25,140 ולהיכנס למצב הכנסה, כך שתוכל להוסיף לסוף השורה. 481 00:28:25,140 --> 00:28:30,840 >> אני חושב שיש לי עוד כמה תרגילים שלבו אנחנו יכולים לנסות. 482 00:28:30,840 --> 00:28:33,240 למעשה, לא, אני לא. לא לאלה. 483 00:28:33,240 --> 00:28:35,810 אבל יש לנו כמה תרגילים יותר לסעיף הבא שבו אנו נראה. 484 00:28:35,810 --> 00:28:38,420 אבל אלה שאתה יכול לנסות בעצמך גם כן. 485 00:28:38,420 --> 00:28:45,610 לדוגמא, אם אתה מקליד בv הרגיל, תקבל הדגשה רגילה שאתה רגיל אוהב את זה. 486 00:28:45,610 --> 00:28:49,800 אם תקליד בהון V, אתה יכול לקבל קו מלא הדגשה ככה, 487 00:28:49,800 --> 00:28:55,850 או אם אני מקליד בo זה בעצם יפתח קו חדש בשבילי, שהוא די נחמד. 488 00:28:55,850 --> 00:28:58,850 X אני יכול להשתמש בו כדי למחוק תווים בסמן. 489 00:28:58,850 --> 00:29:00,800 אני יכול ללחוץ על x חבורה של פעמים ולמחוק דברים. 490 00:29:00,800 --> 00:29:06,720 אני יכול ללחוץ על u כדי לבטל את כל זה. 491 00:29:06,720 --> 00:29:09,600 , אני יכול להקליד בללכת מייד לסוף התור, 492 00:29:09,600 --> 00:29:14,040 ואני כללנו גם כמה מפתחות נחמדים אחרים 493 00:29:14,040 --> 00:29:19,240 כי אתה גם יכול להסתכל באחרי המצגת ללמוד כמה פקודות אחרות. 494 00:29:19,240 --> 00:29:21,250 >> [סטודנטים] מה החלפה על? 495 00:29:21,250 --> 00:29:23,050 ההחלפה [ל 'ברנדון] היא גם ממש מגניב 496 00:29:23,050 --> 00:29:26,240 ובעצם, אם אתה הולך למקום- 497 00:29:26,240 --> 00:29:30,060 האם אי פעם-אנשים לא באמת משתמשים בו כל כך הרבה יותר בימים אלה, 498 00:29:30,060 --> 00:29:34,340 אבל יש לך חבר 'ה שנראתה אי פעם ב-Microsoft Word אם תקליד להוסיף 499 00:29:34,340 --> 00:29:37,840 אתה פתאום להיכנס למצב המוזר הזה שבו כל דמות ודמות שאתה מקליד 500 00:29:37,840 --> 00:29:39,570 בעצם מחליף את התו הבא? 501 00:29:39,570 --> 00:29:41,020 אני לא יודע אם אתם אי פעם ראיתם את זה. 502 00:29:41,020 --> 00:29:43,250 זה דומה לזה. 503 00:29:43,250 --> 00:29:47,150 לדוגמא, אם אני רוצה להחליף את מה שכרגע יש לי מסיבה כלשהי 504 00:29:47,150 --> 00:29:51,300 אני יכול להקליד בR הון, ועכשיו אני אהיה במצב החלפה, כפי שניתן לראות בפינה השמאלית התחתונה. 505 00:29:51,300 --> 00:29:58,380 אם אני מקליד את דבריו מחליפים דברים, ואני יכול גם backspace, שהוא סוג של מגניב, 506 00:29:58,380 --> 00:30:00,140 ואני יכול לבטל את זה. 507 00:30:00,140 --> 00:30:06,980 אני לא משתמש בזה לעתים קרובות מאוד, אבל מדי פעם הוא הופך להיות שימושי. 508 00:30:06,980 --> 00:30:14,150 >> בואו נדבר על אובייקטי טקסט, שהוא אחד מהדברים האהובים עליי על Vim, בכנות. 509 00:30:14,150 --> 00:30:19,660 אובייקטי טקסט הם בעצם הרעיון הזה של הגדרה איזשהו הנתח של טקסט 510 00:30:19,660 --> 00:30:26,550 בתוך קובץ הטקסט שלך, ואני אלך על מקשים אלה ראשון, 511 00:30:26,550 --> 00:30:29,860 ואז אני אתן לך כמה הפגנות כדי שתוכלו להבין באופן מלא יותר מה זה אומר. 512 00:30:29,860 --> 00:30:34,650 W מתייחס למילה, כמו אובייקט טקסט כמילה, 513 00:30:34,650 --> 00:30:36,480 אז איזו מילה כמו שאתה בדרך כלל יודע את זה, 514 00:30:36,480 --> 00:30:39,300 ואם יש סימני פיסוק שזה ליד המילה 515 00:30:39,300 --> 00:30:43,490 אז זה לא יכלול את סימני הפיסוק באופן כללי. 516 00:30:43,490 --> 00:30:46,440 אבל לדוגמא, אם אתה רוצה לכלול את סימני הפיסוק מסיבה כלשהי 517 00:30:46,440 --> 00:30:49,080 או שאתה עושה משהו שהוא לא באנגלית ואתה רוצה לכלול 518 00:30:49,080 --> 00:30:51,180 כל הדמויות שמסומנות בשטח לבן 519 00:30:51,180 --> 00:30:55,390 אתה יכול גם להשתמש W הון כדי לקבל את כל מה שמוקף בשטח לבן. 520 00:30:55,390 --> 00:30:58,510 אתה יכול גם להשתמש בסוגריים מתייחסים לאובייקט טקסט 521 00:30:58,510 --> 00:31:00,170 כי יש בתוך קבוצה של סוגריים. 522 00:31:00,170 --> 00:31:03,950 אתה יכול לעשות את אותו דבר עם סוגריים מרובעים, בסוגריים משולשים, 523 00:31:03,950 --> 00:31:06,450 פלטה, וציטוטים כמו גם, ולבסוף, 524 00:31:06,450 --> 00:31:10,970 אתה יכול גם להשתמש לא להתייחס לכמה תג. 525 00:31:10,970 --> 00:31:15,390 >> תן לי להראות לך איך שמשחק בפועל. 526 00:31:15,390 --> 00:31:21,380 לדוגמא, זה הוא הדוגמא הראשונה שלי בחלון הראווה שלי. 527 00:31:21,380 --> 00:31:26,950 יש איזו מילה במשפט זה שאני רוצה לשנות, 528 00:31:26,950 --> 00:31:30,560 ודיברנו על W בשימוש כתנועה, 529 00:31:30,560 --> 00:31:33,170 אבל אתה יכול גם להשתמש בו כאובייקט טקסט כמו כל כך. 530 00:31:33,170 --> 00:31:40,940 לדוגמא, בדרך זו אני יכול לשנות את שמו של ברק, או בעצם לשנות אותה 531 00:31:40,940 --> 00:31:46,730 הוא שאני יכול ללכת לתחילת מילה וסוג זה בג לשינוי וw במילה, 532 00:31:46,730 --> 00:31:51,650 ושימחק כל המילה והכניס אותו למצב כניסה. 533 00:31:51,650 --> 00:31:54,240 אבל זה מאוד מעצבן בשבילי צריך ללכת לתחילת המילה כל הזמן. 534 00:31:54,240 --> 00:31:56,530 זה ממש מעצבן. אני לא רוצה צריך לעשות את זה. 535 00:31:56,530 --> 00:32:00,390 אני בעצם יכול להיות בכל מקום בתוך שמו 536 00:32:00,390 --> 00:32:03,930 והקלד בCIW, ועומד לי לפנימי, 537 00:32:03,930 --> 00:32:06,590 כך שאם אני מקליד בCIW שהוא מייצג שינוי במילה אחת, 538 00:32:06,590 --> 00:32:10,150 או במילים אחרות, לשנות את המילה אני בפנים כרגע, 539 00:32:10,150 --> 00:32:13,280 וזה ייתן לך בדיוק את אותו אפקט. 540 00:32:13,280 --> 00:32:17,130 אתה יכול לתקן את זה. 541 00:32:17,130 --> 00:32:21,390 >> באופן דומה, אולי יש לי כמה מקרה כזה 542 00:32:21,390 --> 00:32:27,920 שבו מסיבה כלשהי יש כמה מפרידים או משהו כזה, 543 00:32:27,920 --> 00:32:31,700 או שיש סימני פיסוק, ואני רוצה למחוק את כל העניין. 544 00:32:31,700 --> 00:32:36,530 אם אני מקליד בCIW זה יהיה למחוק את מה שבפנים מפרידים אלה, 545 00:32:36,530 --> 00:32:39,830 אבל אני רוצה לקבל את כל העניין שהוא מוקף בשטח ריק, 546 00:32:39,830 --> 00:32:42,750 אז אני יכול להשתמש CIW למחוק את כל העניין. 547 00:32:42,750 --> 00:32:51,000 אני אקליד בחמש, עושה את אותו הדבר, והקלד בשש. 548 00:32:51,000 --> 00:32:53,670 בדומה לכך, אם אני רוצה לשנות משהו שנמצא בתוך הסוגריים 549 00:32:53,670 --> 00:32:58,340 אני יכול להקליד בci) למחוק את כל מה שבתוך הסוגריים 550 00:32:58,340 --> 00:33:05,460 ולאחר מכן למלא בכל מה שאני רוצה לעשות, כמו תכנית + int, מה שאתה רוצה לעשות, 551 00:33:05,460 --> 00:33:07,330 ובאופן דומה, אותו דבר עם ציטוטים. 552 00:33:07,330 --> 00:33:13,130 אני יכול לתקן את הטקסט שיש בפנים של ציטוטים, 553 00:33:13,130 --> 00:33:21,540 ואני גם יכול לשנות את הדברים שהם חלק פנימי של תגים. 554 00:33:21,540 --> 00:33:24,400 האם זה הגיוני? 555 00:33:24,400 --> 00:33:27,020 >> עוד דבר שאתה יכול לעשות הוא שאתה לא צריך להשתמש בג. 556 00:33:27,020 --> 00:33:30,690 ניתן גם להשתמש בד אם אתה רוצה למחוק את מה שבתוך תגים אלה. 557 00:33:30,690 --> 00:33:35,370 אם אני רוצה למחוק את הטקסט בתוך תג שאני יכול להשתמש dit למחוק תג זה. 558 00:33:35,370 --> 00:33:40,360 אני יכול גם להשתמש בVit כדי להדגיש את מה שבפנים את התג, למשל. 559 00:33:40,360 --> 00:33:43,920 הדבר השני הוא במקום להשתמש אני באמצע אתה יכול גם להשתמש, 560 00:33:43,920 --> 00:33:49,490 אשר מייצג את כל, כל כך זוכר אם אתה משתמש בזה אני אתייחס לאובייקט הטקסט 561 00:33:49,490 --> 00:33:52,260 או להשתמש באובייקט טקסט שהכיל בתוכו את המפרידים, 562 00:33:52,260 --> 00:33:56,000 אבל אם אתה משתמש זה יכלול טקסט שכן המפריד עצמו. 563 00:33:56,000 --> 00:33:59,180 לדוגמא, אם אני רוצה להדגיש את הטקסט הזה ואת התג שמסביב 564 00:33:59,180 --> 00:34:05,390 אני יכול להשתמש במע"מ, v לגולת הכותרת ויזואלי, לכולם, ולאחר מכן לא לתג. 565 00:34:05,390 --> 00:34:08,350 אתה יכול לעשות משהו כזה גם כן. 566 00:34:08,350 --> 00:34:15,810 אולי אני רוצה למחוק google.com זה עם הציטוטים סביבו, כמו גם, 567 00:34:15,810 --> 00:34:22,860 ואני יכול להשתמש במשהו כמו דה "כדי למחוק את כל זה, למשל. 568 00:34:22,860 --> 00:34:26,520 >> כל שאלות עד כה? 569 00:34:26,520 --> 00:34:32,270 אני מבין שאני זורק עליך הרבה Vim פקודות בבת אחת, 570 00:34:32,270 --> 00:34:36,210 וזה בעצם בגלל שאני רוצה לחשוף אתכם לכל הפקודות השונות 571 00:34:36,210 --> 00:34:39,480 ואתן לך הקדמה למה שהפקודות האלה עושות בVim. 572 00:34:39,480 --> 00:34:41,460 אבל מה קורה לצריך לקרות הוא כאשר אתה חוזר 573 00:34:41,460 --> 00:34:44,250 אתה הולך צריך להרים לאט פקודות אלה אחת לאחת. 574 00:34:44,250 --> 00:34:47,880 אתה לא רוצה להציף את עצמך, כי זה מרגש מדי. 575 00:34:47,880 --> 00:34:50,460 אם אתה רוצה להרים את Vim מה שאתה צריך באמת לעשות הוא 576 00:34:50,460 --> 00:34:53,590 להתחיל עם הערכה הבסיסית הראשונה, ואני שברתי אותו לשיעורים בשבילך 577 00:34:53,590 --> 00:34:57,830 זה עושה את זה יותר קל לך לעקוב, ולנסות ולשלוט בכל סט של פקודות 578 00:34:57,830 --> 00:35:00,400 האחד אחד, אחד בכל פעם. 579 00:35:00,400 --> 00:35:03,500 זה יותר מדי לעשות את הכל בבת אחת, אז מה שאתה צריך לעשות כשאתה הולך בחזרה הוא 580 00:35:03,500 --> 00:35:10,950 ללכת לשיעור הראשון, שהוא hjkl, מצב הכנסה, לברוח למצב נורמלי, 581 00:35:10,950 --> 00:35:13,790 ושמירה והפסקת עישון, וזה כל מה שאתה באמת צריך כדי לשרוד בVim, 582 00:35:13,790 --> 00:35:15,220 ולקבל ממש ממש נוח עם זה. 583 00:35:15,220 --> 00:35:18,270 ואחרי כמה ימים ברגע שאתה מרגיש בנוח מאוד עם זה 584 00:35:18,270 --> 00:35:21,170 אתה צריך לעבור למפעילי תנועה המתקדמים יותר, 585 00:35:21,170 --> 00:35:25,890 התנועות מתקדמות יותר, ועל המפעילים וכן הלאה וכן הלאה. 586 00:35:25,890 --> 00:35:32,160 >> אני יודע שאני עובר הרבה, אבל אני רוצה להביא לך נחשף להרבה דברים שונים. 587 00:35:32,160 --> 00:35:36,080 אבל במקרה שאתה מעלה את האתגר, אני יכול להראות לך 588 00:35:36,080 --> 00:35:43,690 איך אתה יכול לשים את כל זה ביחד באמצעות רוב מה שאנחנו פשוט למדנו היום, 589 00:35:43,690 --> 00:35:46,280 ואתה גם יכול לבצע יחד אם אתה רוצה, 590 00:35:46,280 --> 00:35:48,590 אבל אני יצרתי את פעילות גופנית כלשהי באופן אקראי. 591 00:35:48,590 --> 00:35:51,140 נניח שיש לנו איזה סגל כזה 592 00:35:51,140 --> 00:35:53,200 שבו יש לך בלוקים האלה עם השמות של אנשים, 593 00:35:53,200 --> 00:35:55,440 בתים, שנים, וריכוזים ומה לא, 594 00:35:55,440 --> 00:35:59,240 ואתה רוצה להוסיף רשומה חדש עבור עצמך. 595 00:35:59,240 --> 00:36:01,530 מהי הדרך הטובה ביותר עבורך לעשות את זה? 596 00:36:01,530 --> 00:36:03,240 בואו נעשה את זה ככה. 597 00:36:03,240 --> 00:36:06,620 למה אנחנו לא להדגיש בלוק זה ראשון. 598 00:36:06,620 --> 00:36:08,710 אתה הולך לבחור אותו, ואנחנו יכולים הקש Y כדי למשוך אותו, 599 00:36:08,710 --> 00:36:11,180 אז עכשיו אנחנו יכולים בעצם להעתיק ולהדביק את תבנית זו ראשונה 600 00:36:11,180 --> 00:36:16,500 מבלי לשכתב את כל העניין מהתחלה. 601 00:36:16,500 --> 00:36:20,390 עכשיו אני אלחץ j למטה כמה פעמים לרדת, 602 00:36:20,390 --> 00:36:22,560 ואני אלחץ על p כדי להדביק אותו. 603 00:36:22,560 --> 00:36:26,990 אולי אני אוסיף כמה קווים נוספים עבור חלל, 604 00:36:26,990 --> 00:36:31,130 ונניח שעכשיו אני רוצה לשנות את השם שלך למישהו. 605 00:36:31,130 --> 00:36:36,220 ואז אני יכול ללכת לכאן והקלד בc2w כמו לפני לשנות את השם הזה. 606 00:36:36,220 --> 00:36:38,860 בוב ג'ונס, מי יודע. 607 00:36:38,860 --> 00:36:41,470 אולי אם אני רוצה לשנות את הבית אני יכול להיכנס לאמצע כאן 608 00:36:41,470 --> 00:36:44,230 וסוג ב CIW ולשים בית קאבוט. 609 00:36:44,230 --> 00:36:47,850 >> כאן עשוי להיות דוגמא לשם ייתכן שתרצה לשקול שימוש 610 00:36:47,850 --> 00:36:52,970 מצב ההחלפה לשנות בשנה שהסיום שלך אם אתה רוצה, 611 00:36:52,970 --> 00:36:54,890 או שאנחנו יכולים גם להשתמש CIW גם כן. 612 00:36:54,890 --> 00:36:57,550 זה לא משנה. 613 00:36:57,550 --> 00:37:07,180 אולי אתה רוצה לשנות עיקרי שלך. 614 00:37:07,180 --> 00:37:11,310 וזה מה שאתה עושה. 615 00:37:11,310 --> 00:37:17,170 ואולי אני אתן לך הדגמה של מה שאני יכול לעשות 616 00:37:17,170 --> 00:37:23,820 אם הייתי, אם אתה ממשיך ללמוד פקודות מתקדמות יותר בVim 617 00:37:23,820 --> 00:37:25,690 כי אנחנו בקושי מגרדים את פני השטח כאן, 618 00:37:25,690 --> 00:37:28,960 ואני יכול לעשות את זה סוג של עריכה אפילו מהר יותר ממה שהראיתי לכם כאן 619 00:37:28,960 --> 00:37:32,860 כי אני יודע פקודות נוספות שלא קיבלתי הזדמנות להראות לך להיום. 620 00:37:32,860 --> 00:37:37,500 לדוגמא, אם אני רוצה להדגיש את זה שאני יכול לעשות את זה ככה, 621 00:37:37,500 --> 00:37:39,960 לנוע כלפי מטה. 622 00:37:39,960 --> 00:37:43,860 אני הוספתי מיפוי שלי 623 00:37:43,860 --> 00:37:48,100 לבעצם באופן אוטומטי את הדברים בשבילי 624 00:37:48,100 --> 00:38:02,610 ואני יכול, אני לא יודע. 625 00:38:02,610 --> 00:38:05,260 אני מתכוון, זה הוא רק מנסה להראות לך שאתה יכול באמת, באמת 626 00:38:05,260 --> 00:38:08,180 להתחיל לערוך דברים במהירות רבה יותר, במיוחד כאשר יש לך את כל שדות שונים אלה, 627 00:38:08,180 --> 00:38:10,620 ובדרך כלל מה שאפשר לעשות הוא סוג של לחיצה 628 00:38:10,620 --> 00:38:13,530 והדגשה ולאחר מכן הקלדה. 629 00:38:13,530 --> 00:38:18,530 אתה יכול לעשות הכל בבת אחת, העתקה והדבקה, 630 00:38:18,530 --> 00:38:21,640 נע מעלה ומטה בין הקובץ, 631 00:38:21,640 --> 00:38:24,060 רק תיחום דברים, עיצוב חומר. 632 00:38:24,060 --> 00:38:29,670 כל זה ניתן לעשות הרבה, הרבה יותר מהר בVim. 633 00:38:29,670 --> 00:38:32,580 >> רק דבר אחד קטן האחרון שאני חושב שיכול להיות ממש נחמד, 634 00:38:32,580 --> 00:38:34,820 אשר לחפש ולהחליף. 635 00:38:34,820 --> 00:38:36,460 אלו מכם שהשתמשו בקיצורי דרך ב-Gmail 636 00:38:36,460 --> 00:38:41,050 גם אתה יודע שאם אתה מקליד ב/ הוא שולח אותך לתיבת החיפוש, 637 00:38:41,050 --> 00:38:44,210 ובהרבה יישומים שונים באופן כללי אתה תמצא קו נטוי כי 638 00:38:44,210 --> 00:38:47,300 או אולי לשלוט בקו נטוי או משהו לעשות עם קו נטוי 639 00:38:47,300 --> 00:38:49,870 אכניס אותך לאיזשהו מצב חיפוש, 640 00:38:49,870 --> 00:38:53,240 וזה גם בעצם מגיע מVim למעשה 641 00:38:53,240 --> 00:38:58,670 כי מפעיל הקו הנטוי או פקודת הלוכסן מאפשרת לך קלט 642 00:38:58,670 --> 00:39:01,770 איזה מחרוזת שאתה יכול להשתמש בו כדי לחפש בתוך המסמך. 643 00:39:01,770 --> 00:39:05,350 n ו-N הון שאתה יכול ללכת למקום הבא ואת המופע הקודם, 644 00:39:05,350 --> 00:39:10,700 ואתה יכול גם להשתמש במשהו דומה לחיפוש והחלפה בתוך המסמך. 645 00:39:10,700 --> 00:39:15,060 אני אתן לך הפגנה על מה שניתן לעשות. 646 00:39:15,060 --> 00:39:18,200 >> אולי אם אני רוצה למצוא את כל המופעים של המשיכה המחרוזת במסמך זה 647 00:39:18,200 --> 00:39:23,310 אני יכול להקליד ב/ משיכה, כפי שניתן לראות בפינה השמאלית התחתונה, 648 00:39:23,310 --> 00:39:26,350 וכשאני מקליד להזין אותו מדגיש כל המופעים. 649 00:39:26,350 --> 00:39:34,160 אני יכול להשתמש בעיקרון n לקפוץ קדימה ואחורה בין כל מופעים שונים אלו, 650 00:39:34,160 --> 00:39:40,420 ובואו נניח שאני רוצה לחפש ולהחליף את משיכה עם כמה מילות אקראיות 651 00:39:40,420 --> 00:39:42,180 שגם במסמך. 652 00:39:42,180 --> 00:39:47,070 אני יכול ללחוץ על: להתחיל להקליד באיזושהי הפקודה בתוך Vim, 653 00:39:47,070 --> 00:39:49,610 כמה הפקודה זה יותר מתוחכם מההסתובבות 654 00:39:49,610 --> 00:39:51,370 או מחיקה או משהו כזה. 655 00:39:51,370 --> 00:39:56,860 אני מקליד ב% הסימן להתייחס כי אני רוצה להשתמש בפקודת ההחלפה זה 656 00:39:56,860 --> 00:39:58,230 על המסמך כולו. 657 00:39:58,230 --> 00:40:02,380 הקלד בים לחילוף. זה בא מתוך PEARL בעצם. 658 00:40:02,380 --> 00:40:07,040 ופקודה זו פקודה הבאה היא די סטנדרטית שתמצא בPEARL 659 00:40:07,040 --> 00:40:09,790 במקום ובשפות תכנה אחרות כי אתה 660 00:40:09,790 --> 00:40:13,170 כנראה להתחיל ללמוד כפי שאתה עושה יותר מדעי מחשב, 661 00:40:13,170 --> 00:40:20,130 ואני בעצם יכול להשתמש / להקליד /, הקלד את המילה שאני רוצה למצוא ולהחליף 662 00:40:20,130 --> 00:40:24,280 ולאחר מכן סוג אחר / והקלד בכל מילה שאני רוצה להחליף מילה זה עם. 663 00:40:24,280 --> 00:40:27,450 מי יודע, אולי nyancat. 664 00:40:27,450 --> 00:40:30,390 אני עושה את זה, ואז אתה תראה שכל מה שיש להחליפו. 665 00:40:30,390 --> 00:40:34,000 >> אבל אתה תשים לב שיש את המילה הזאת כאן. 666 00:40:34,000 --> 00:40:37,620 משום מה חלק מהמקרים שלנו של משיכה מוחלף אבל לא כולם, 667 00:40:37,620 --> 00:40:40,250 וזה בגלל שהדרך זה סוג של שפה כבר נכתבה 668 00:40:40,250 --> 00:40:43,550 לא רק בVim אבל במקומות אחרים הוא שכאשר אתה מפעיל את פקודת ההחלפה 669 00:40:43,550 --> 00:40:46,470 זה יהיה רק ​​להחליף את המופע הראשון של מילה, כי בכל שורה, 670 00:40:46,470 --> 00:40:52,810 כך שאם אני רוצה להחליף למעשה את כל המופעים של המילה בכל שורה 671 00:40:52,810 --> 00:40:56,890 אז אני צריך לעשות את אותו הדבר אבל מוסיף דגל AG ממש בסוף, 672 00:40:56,890 --> 00:41:00,810 אשר מייצג גלובלי, ואז זה יהיה ממש 673 00:41:00,810 --> 00:41:06,200 להחליף את כל המופעים. 674 00:41:06,200 --> 00:41:09,710 וברגע שאתה לומד בביטויים הרגילים, אין למעשה סמינר CS50 675 00:41:09,710 --> 00:41:12,120 בביטויים רגילים, כך שאם אתה סקרן לגבי ביטויים רגולריים 676 00:41:12,120 --> 00:41:16,970 אתה יכול גם לקחת סמינר זה וללמוד עוד. 677 00:41:16,970 --> 00:41:19,920 >> אבל לדוגמא, נניח שיש לי רשימה של שמות כמו זה, 678 00:41:19,920 --> 00:41:23,920 ואני רוצה לשנות אותו, ולכן במקום שיש שם המשפחה, פסיק, שם פרטיים 679 00:41:23,920 --> 00:41:27,490 אני רוצה לארגן מחדש את זה כל כך שהוא אומר את שם פרטי, שטח פרטי, שם משפחה. 680 00:41:27,490 --> 00:41:30,750 למעשה אתה יכול להשתמש בפקודה זו ממש כאן 681 00:41:30,750 --> 00:41:33,600 בעצם לעשות את זה בשבילך, אז כמו שאתה יכול לראות כאן 682 00:41:33,600 --> 00:41:37,170 אנחנו מתחילים עם זה, מה שאומר שאנחנו רוצים לעשות חיפוש והחלפה, 683 00:41:37,170 --> 00:41:42,970 ולאחר מכן הוספתי v \ דגל נקרא, וזה משהו שנקרא דגל הקסם הזה 684 00:41:42,970 --> 00:41:45,810 בVim שמאפשר לך לעשות בביטויים רגילים בקלות רבה יותר. 685 00:41:45,810 --> 00:41:49,370 ואז משם אנחנו בעצם להתאים לכל שורה אחת 686 00:41:49,370 --> 00:41:55,960 כי הוא בצורת סט של מילות, פסיק, מרחב, וקבוצה של מילות או קבוצה של אותיות. 687 00:41:55,960 --> 00:41:59,240 \ W + בעצם אומר תו אחד או יותר, 688 00:41:59,240 --> 00:42:04,030 והסוגריים משמשים כדי ללכוד קבוצות אלה 689 00:42:04,030 --> 00:42:06,120 כדי שאוכל להתייחס אליהם מאוחר יותר. 690 00:42:06,120 --> 00:42:09,910 כפי שניתן לראות, ברגע הבאים 2 בלוקים ללכידתן של מילות 691 00:42:09,910 --> 00:42:11,690 כי הם מופרדים על ידי פסיק, שטח 692 00:42:11,690 --> 00:42:15,510 אז מה שאנחנו רוצים להחליף אותו עם הוא אני משתמש \ 2 ו \ 1 693 00:42:15,510 --> 00:42:18,130 כדי לשוב ולעיין במילות שנתפסו 694 00:42:18,130 --> 00:42:20,950 בפקודת הממצא בפועל, 695 00:42:20,950 --> 00:42:24,970 וכך \ 2 מתייחס לכל מה שכלול בקבוצה השנייה של סוגריים, 696 00:42:24,970 --> 00:42:28,140 \ 1 מתייחס לכל מה שכלול בערכה הראשונה של סוגריים, 697 00:42:28,140 --> 00:42:31,680 וכמו שאתה יכול לראות, אני שם את 2 לפני 1 מופרד ברווח 698 00:42:31,680 --> 00:42:36,650 כדי לנסות ולהעביר את השם הפרטי לפני שם המשפחה. 699 00:42:36,650 --> 00:42:38,380 האם זה הגיוני? 700 00:42:38,380 --> 00:42:43,450 >> ומה אני יכול לעשות הוא שאני יכול להסתיר ראשון אלה כל כך אני רק להריץ את הפקודה בשורות אלה, 701 00:42:43,450 --> 00:42:53,720 ואז אני אקליד בפקודה זו. 702 00:42:53,720 --> 00:42:57,050 אתה יכול לראות שהוא עושה בדיוק כפי שחלק. 703 00:42:57,050 --> 00:42:59,400 ושוב, זה בקושי מגרד את פני השטח, 704 00:42:59,400 --> 00:43:03,020 ואם אתה הולך לסמינר הביטוי הרגיל אז אני בטוח שתוכל ללמוד 705 00:43:03,020 --> 00:43:05,070 דברים שונים הרבה יותר שאתה יכול לעשות עם ביטויים רגולריים, 706 00:43:05,070 --> 00:43:08,910 וזה בעצם מתחיל לרמוז על מה שאתה באמת יכול לעשות עם Vim 707 00:43:08,910 --> 00:43:10,850 אם אתה באמת מתחיל להיות הורים שלו. 708 00:43:10,850 --> 00:43:14,520 אולי אתה רוצה לארגן מחדש משהו, ואתה רוצה למצוא את כל המופעים 709 00:43:14,520 --> 00:43:16,980 של כמה פונקציה שעוקבת איזה שמות דפוס. 710 00:43:16,980 --> 00:43:18,570 אתה רוצה לשנות את הדרך ששם. 711 00:43:18,570 --> 00:43:21,140 אתה יכול לכתוב איזה פקודה כמו זה כדי לעשות את זה בשבילך, 712 00:43:21,140 --> 00:43:23,850 וזה הסוג של גמישות שאתה יכול לקבל במסגרת Vim 713 00:43:23,850 --> 00:43:30,210 כי אתה פשוט לא הולך לקבל בעורכי טקסט אחרים. 714 00:43:30,210 --> 00:43:34,830 >> זה בעצם מכסה את כל הדברים שרציתי ללמד אותך היום בסמינר של היום, 715 00:43:34,830 --> 00:43:38,580 אבל שוב, אני באמת רוצה להדגיש שאם אתה רוצה להרים את Vim 716 00:43:38,580 --> 00:43:42,120 זה נכון שיש עקום למידה גבוהה מעט יותר בהתחלה. 717 00:43:42,120 --> 00:43:44,230 בהתחלה מאוד שיהיה מעט פחות פרודוקטיבי 718 00:43:44,230 --> 00:43:47,010 ממה שאתה כנראה יהיה אחר, אבל אם אתה מקל עם זה 719 00:43:47,010 --> 00:43:49,890 בתוך כמה ימים או כמה שבועות, תלוי כמה מהר אתה לומד, 720 00:43:49,890 --> 00:43:56,300 תוכל להיות הרבה, הרבה יותר מהר, ואני ניסיתי לתת לך הפגנה 721 00:43:56,300 --> 00:43:59,070 על מה Vim מסוגל, אבל לא באמת הייתה לי הזדמנות להראות לך 722 00:43:59,070 --> 00:44:03,230 מה קורה כאשר אני בדרך כלל, למשל, בכיתה אני מקליד לתוך ההערות שלי עם Vim. 723 00:44:03,230 --> 00:44:07,920 זה בגלל שאני יכול לעבוד כל כך הרבה יותר מהר בVim ממה שאני יכול עם כל תכנית אחרת. 724 00:44:07,920 --> 00:44:14,480 זה ממש עליית הפרודוקטיביות 2 או 3 בזמן Vim בהשוואה לתוכניות אחרות, 725 00:44:14,480 --> 00:44:18,800 לא רק עם המהירות של עריכת טקסט, אלא גם בדרך בה אני יכול להסתובב המסמך 726 00:44:18,800 --> 00:44:21,510 והדרך בה אני יכול לגשת לקבצים אחרים במחשב שלי 727 00:44:21,510 --> 00:44:23,110 ולקפוץ ביניהם וכן הלאה וכן הלאה. 728 00:44:23,110 --> 00:44:27,600 זה רק להגביר את הפרודוקטיביות של ממש, ממש ענק. 729 00:44:27,600 --> 00:44:30,550 >> אבל כאשר אתה לומד, אתה רוצה לוודא שאתה לומד דבר אחד בכל פעם, 730 00:44:30,550 --> 00:44:34,970 ונסה לא להציף את עצמך עם פקודות שונות רבות מדי 731 00:44:34,970 --> 00:44:39,090 כי יש הרבה פקודות והרבה קיצורי דרך שונות שאתה יכול ללמוד בVim. 732 00:44:39,090 --> 00:44:41,780 אתה רוצה להרים מעט בכל פעם ובמשך השנים 733 00:44:41,780 --> 00:44:48,990 לצבור בהדרגה את ההבנה גדולה יותר ויותר של Vim. 734 00:44:48,990 --> 00:44:51,790 אם אתה רוצה להמשיך וללמוד עוד, אלה הם חלק מהנושאים המתקדמים יותר 735 00:44:51,790 --> 00:44:55,900 אתה יכול להמשיך ללמוד על, וגם זה בקושי מגרד את פני השטח. 736 00:44:55,900 --> 00:44:59,050 הנה כמה תוספים פופולריים אתה יכול להרגיש חופשי לבדוק וגוגל 737 00:44:59,050 --> 00:45:03,750 ולשחק איתם אם אתה רוצה ורק לראות איזה סוג של תוספים הם שם בחוץ. 738 00:45:03,750 --> 00:45:06,260 ואז בסוף PowerPoint זה, אני כולל חבורה של קישורים 739 00:45:06,260 --> 00:45:08,740 למשאבים שונים שאתה יכול להשתמש בו כדי ללמוד ממנו. 740 00:45:08,740 --> 00:45:12,700 הנה חבורה של קישורים שונים שאתה יכול להשתמש בו כדי להתחיל לעבוד עם Vim. 741 00:45:12,700 --> 00:45:15,150 יש להם הדרכות ומה לא שונות, 742 00:45:15,150 --> 00:45:17,770 ולבסוף, אלה הם כמה דברים מתקדמים יותר אתה יכול להשתמש 743 00:45:17,770 --> 00:45:19,790 גם לבדוק, כמו גם, 744 00:45:19,790 --> 00:45:22,340 כמה יציקות מסך וכמה טכניקות מתקדמות יותר בVim 745 00:45:22,340 --> 00:45:26,450 וגם כמה פיסות של קוד המקור שונות שאתה יכול להסתכל על GitHub 746 00:45:26,450 --> 00:45:28,760 רק להסתכל על קבצי התצורה של אנשים אחרים 747 00:45:28,760 --> 00:45:32,710 או להסתכל על תוספים בVim וכן הלאה וכן הלאה. 748 00:45:32,710 --> 00:45:40,380 >> זה כל מה שיש לי בשבילך. 749 00:45:40,380 --> 00:45:43,000 [CS50.TV]