คำถามติดแท็ก vim

vim (Vi IMproved) เป็นโปรแกรมแก้ไขข้อความที่รองรับโหมดการแก้ไขที่แตกต่างกัน

2
vim: ใช้สตริงจากการค้นหาในคำสั่งแทนที่
ฉันมักใช้/คำสั่งการค้นหาเป็นกลุ่มเพื่อตรวจสอบนิพจน์ปกติของฉัน (เพื่อดูว่าตรงกับอะไร) หลังจากนั้นฉันมักจะใช้:%sคำสั่งแทนที่โดยที่ฉันใช้ regexp จากการค้นหาเป็นสตริงที่จะถูกแทนที่เช่นฉันแรกมองหาสตริงดังกล่าว: /TP-\(\d\{5\}\)-DD-\d\{3\} มันตรงกับสิ่งที่ฉันต้องการดังนั้นฉันจะแทนที่ของฉัน: :%s/TP-\(\d\{5\}\)-DD-\d\{3\}/\1/g แต่ฉันต้องเขียน regexp ทั้งหมดอีกครั้งที่นี่ โดยปกติ regexp นั้นยาวกว่ามากนั่นคือสาเหตุที่ฉันกำลังมองหาวิธีแก้ปัญหา: มีทางลัดหรือสคริปต์ vim สำหรับวางรูปแบบการค้นหานั้นลงในคำสั่ง replace โดยตรงหรือไม่? ฉันใช้เป็นกลุ่มใน terminal (ไม่มี gvim)

1
vimdiff เพื่อเปรียบเทียบผลลัพธ์แทนไฟล์
ฉันกำลังพยายามเปรียบเทียบเอาต์พุตคำสั่งสองรายการ (ไม่มีไฟล์) vimdiff "$(tail /tmp/cachain.pem)" "$(tail /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem)" ฉันพยายามเล่นด้วยการเปลี่ยนเส้นทางไปป์vim - -cแต่ฉันต้องหายไปบางอย่าง ใครช่วยได้บ้าง
15 vim  stdout  stdin  vimdiff 

1
vim / gvim ไม่สามารถใส่คลิปบอร์ด X11 ลงทะเบียน“ + หรือ” *?
เนื่องจากขาดการรักษาความปลอดภัยกับเซิร์ฟเวอร์ vino มาตรฐานฉันจึงเปลี่ยนไปใช้x11vncบนกล่อง linux (พร้อม Xubuntu 14.04) และ SSVNCทางหน้าต่าง ด้วย vino, ตัดและวางจาก windows ไปยัง Linux และ windows, ในสองทิศทาง, ไม่สม่ำเสมอ (1) แต่เมื่อมันทำงาน, มันใช้ได้กับทุกโปรแกรม; ฉันสามารถใช้การvimลงทะเบียน"+โดยไม่มีปัญหา ฉันวิ่ง (2) autocutsel -fork ตามปกติเพื่อให้การเลือก "คลิกกลาง" และ ctrl-c / v เหมือนกัน ตอนนี้ฉันใช้ x11vnc (เรียกด้วย:) x11vnc -forever -repeat -safer -usepw -ssl -autoport 6000เพื่อให้มีการเชื่อมต่อที่ปลอดภัยและมีการเข้ารหัสเกิดปัญหาขึ้น: ฉันสามารถคัดลอกบน windows และวางใน terminal linux …
15 vim  x11  vnc  clipboard 

3
จับคู่คำที่มีอักขระเกิน a-zA-Z
เพื่อให้ตรงกับคำที่สามารถใช้ได้ \v(\w+) จากความช่วยเหลือเป็นกลุ่ม:h \w: \ w อักขระคำ: [0-9A-Za-z_] สิ่งนี้ทำงานได้อย่างตรงตามที่อธิบายไว้ในคู่มือ แต่ผมต้องการที่จะตรงกับคำที่ประกอบด้วยอักขระเกินa-zเช่น prästgården การจับคู่นิพจน์ทั่วไป\v(\w+)กับ prästgårdenให้ผลเป็นสามการแข่งขันแทน: prästgården ^^ ^^^ ^^^^ จะจับคู่คำที่มีตัวอักษรเกินได้a-zอย่างไร สถานที่ตั้งของฉันถูกตั้งค่าเป็นภาษาอังกฤษและถ้าเป็นไปได้ฉันต้องการที่จะให้มันเป็นอย่างนั้น แก้ไข:คำอาจไม่อยู่ในสถานที่เดียวเช่น prästgården treść

3
การใช้ ctrl + c แทนที่จะเป็น esc เพื่อออกจากโหมดแทรกจะทำลายทุกอย่างใน vi หรือไม่?
เมื่อใช้ vi คุณสามารถออกจากโหมดที่มีแทรกCtrl+ แทนแบบดั้งเดิมมากขึ้นC Escมีสถานการณ์ใดบ้างที่ไม่พึงปรารถนาที่จะใช้สำหรับอดีตแทนสถานการณ์หลัง? มันทำลายสิ่งอื่นใดนอกจากแนวปฏิบัติที่ดีที่สุดหรือไม่?
15 vim  vi 

1
เหตุใดจึงเป็นกลุ่มการสร้างไฟล์ด้วยปลายสาย DOS?
ฉันมี set fileformat=unix ในของฉัน.vimrcและยังถ้าฉันสร้างไฟล์ในvim(ทำงานใน Cygwin) มันยังคงอยู่ในการสร้างไฟล์รูปแบบ DOS และฉันต้องเรียกใช้พวกเขาผ่านdos2unixการล้างพวกเขา (ฉันเดาว่าฉันไม่จำเป็นต้องทำเพราะ Git ทำความสะอาดพวกเขาให้ฉัน แต่มันก็ทำให้ฉันตายด้วยตัวแก้ไขข้อความ Unix ซึ่งฉันได้รับคำสั่งให้ใช้ปลายสาย Unix โดยเฉพาะคือทำให้พวกมันสกปรกด้วยขยะเพิ่มเติม .) ทำไมสิ่งนี้จะเกิดขึ้น ฉันจะแก้ไขได้อย่างไร (และโดย "แก้ไข" ฉันไม่ได้หมายถึงสิ่งที่ต้องให้ฉันแปลงไฟล์แต่ละรายการนั่นไม่ใช่การแก้ไขนั่นคือสิ่งที่แตกสลายโดยสิ้นเชิง)
15 vim  windows  cygwin 

3
Elvis จาก Vim ต่างกันอย่างไร
ฉันใช้ Slackware มาระยะหนึ่งแล้วซึ่งมาพร้อมกับElvisเป็นเครื่องมือแก้ไขเริ่มต้น ลีนุกซ์รุ่นอื่น ๆ ส่วนใหญ่นั้นมาพร้อมกับVimแทนที่จะเป็น Elvis เมื่อได้รับเอลวิสค่อนข้างคุ้นเคยแล้วฉันจะต้องเผชิญกับช่วงการเรียนรู้เมื่อย้ายไปยัง distro ที่ใช้กลุ่มหรือไม่? อะไรคือข้อดีและข้อเสียของ Elvis เมื่อเปรียบเทียบกับ Vim
15 vim  vi  elvis 

4
ทำไมกลุ่มถึงส่งคืนรหัสออกที่ไม่ใช่ศูนย์ถ้าฉันออกทันทีหลังจากเปิด?
ฉันพบปัญหาแปลก ๆ เล็กน้อยvimกับ Snow Leopard: ฉันได้รับโค้ดทางออกที่ไม่เป็นศูนย์จากการทำงานvimและจากนั้นก็เลิก $ vim # exit immediately using :q $ echo $? 1 อย่างไรก็ตามหากฉันใช้เส้นทางแบบเต็มvimฉันจะไม่เห็นพฤติกรรมนี้ $ /usr/bin/vim # exit immediately using :q $ echo $? 0 ตอนแรกฉันคิดว่าvimมาจากที่ไหนสักแห่งก่อนหน้าในเส้นทางของฉัน แต่: $ which vim /usr/bin/vim ดังนั้นฉันจึงสูญเสีย สิ่งที่อาจทำให้เกิดสิ่งนี้ UPDATE: ปัญหานี้แก้ไขได้อย่างน่าอัศจรรย์ซึ่งทำให้ฉันต้องสงสัยอย่างมาก ทฤษฎีที่ดีที่สุดในปัจจุบันของฉันคือฉันมีปัญหากับ.vimrcปลั๊กอินของฉันหรือที่ฉันแก้ไขโดยไม่ได้ตั้งใจในขณะที่ปรับแต่งการตั้งค่าของฉันด้วยวิธีอื่น หากฉันสามารถติดตามสิ่งที่ฉันแก้ไขได้อย่างแน่นอนฉันจะอัปเดตด้วยข้อมูลนั้นอย่างแน่นอน ขอบคุณสำหรับคำตอบ
15 vim  osx 


2
การปิดเส้นแบ่งเป็นกลุ่ม
หนึ่งในคุณสมบัติที่น่ารำคาญที่สุดของเสียงเรียกเข้าคือการแยกเส้น ด้วยเหตุผลบางอย่างที่ใครบางคนพบว่าเป็นการดีที่จะแยกบรรทัดแม้ในรูปแบบที่ไวต่อช่องว่าง ตัวอย่างเช่นการเปลี่ยนแปลง: echo very-long-string > file ถึง echo very-long-string > file จะปิดได้อย่างไร? แก้ไข : มันไม่ได้เป็นภาพตัด - มันถูกห่อในไฟล์ (เช่น vim แทรก \ n ในไฟล์หากพิจารณาว่าสายยาวเกินไป) การตัดเส้นที่มีความยาวนั้นมีเหตุผลและในขณะที่บางคนอาจต้องการที่จะหันหลังให้กับฉันฉันก็สามารถอยู่ได้โดยปราศจากมัน
15 vim 

1
จะล้างประวัติการค้นหาและคำสั่งใน Vim ได้อย่างไร?
หากคุณค้นหาสิ่งที่อยู่ในกลุ่มโดย prepending SEARCHTERM กับทับเช่น/searchterm, เป็นกลุ่มทำให้ SEARCHTERM นั้นลงในตารางประวัติการสตริงการค้นหา จากนั้นคุณสามารถเลื่อนดูข้อความค้นหาที่ผ่านมาโดยพิมพ์ไปข้างหน้าเครื่องหมายทับ ( /) และใช้Up/ Downปุ่มลูกศร ตารางประวัติสตริงการค้นหานั้นจะคงอยู่ตลอดการเริ่มต้น Vim ทุกอย่างข้างต้นเป็นจริงสำหรับ:ตารางประวัติคำสั่ง (พิมพ์ด้วยแบบเติม) ฉันจะล้างตารางประวัติเหล่านั้นได้อย่างไร
15 vim 

2
ขยายการกำหนดค่าเริ่มต้นของ vim
ฉันใช้การกำหนดค่าเริ่มต้นของ vim อยู่พักหนึ่งแล้วและต้องการทำการเปลี่ยนแปลงเล็กน้อย อย่างไรก็ตามหากฉันแก้ไข~/.vimrcดูเหมือนว่าจะเขียนทับการตั้งค่าอื่น ๆ ทั้งหมดของ/etc/vimrcและเช่นตอนนี้ไม่มีการเน้นไวยากรณ์ นี่คือสิ่งที่เป็นกลุ่มโหลด: :scriptnames /etc/vimrc /usr/share/vim/vimfiles/archlinux.vim ~/.vimrc /usr/share/vim/vim80/plugin/... <there are a few> กล่าวอีกนัยหนึ่งฉันต้องการเก็บสิ่งที่มีการกำหนดค่าเป็นกลุ่ม แต่เพียงทำการปรับเปลี่ยนเล็กน้อยสำหรับผู้ใช้เชลล์ของฉัน ฉันต้องทำอะไรบ้างเพื่อสาน~/.vimrcต่อการกำหนดค่าที่มีอยู่หรือฉันต้องใส่~/.vimrcอะไรเพื่อให้โหลดการกำหนดค่าเริ่มต้น แก้ไข: เนื้อหาที่ฉันต้องการ~/.vimrc: set expandtab set shiftwidth=2 set softtabstop=2

1
คำสั่ง PluginInstall vs BundleInstall ใน Vundle?
ในหน้า Vundle GitHubมันบอกว่าควรใช้PluginInstallติดตั้งปลั๊กอิน แต่เมื่อฉันค้นหา Vundle บนเว็บที่คนมักจะใช้BundleInstallแทน ดูเหมือนว่าทั้งสองคำสั่งจะพร้อมใช้งาน มีความแตกต่างและสิ่งที่ควรใช้เมื่อใด
14 vim  plugin 

2
ทำให้ vim หยุดแบ่งข้อความคอมมิท Git ของฉัน
Vim มีนิสัยที่น่ารำคาญในการแยกข้อความกระทำของฉันและแบ่งบรรทัดข้อความเหล่านั้นโดยอัตโนมัติทำให้บรรทัดที่สองมีพื้นหลังสีแดงด้วยเหตุผลบางอย่าง ฉันจะทำให้เป็นกลุ่มหยุดทำเช่นนี้ได้อย่างไร
14 vim  git 

2
Lookbehind เชิงลบ / การยืนยันล่วงหน้าใน Linux เพจเจอร์น้อย (หรือเป็นกลุ่ม)
ฉันต้องการที่จะหาทุกกรณีของ "ดัชนี" ไม่ได้ตามมาด้วย .php lessในการเข้าสู่ระบบโดยใช้ /index(?!\.php)ไม่ทำงาน, ไม่เป็นผล. เป็นไปได้ไหม regex มีค่าน้อยกว่าและเป็นกลุ่ม (แตกต่างกันอย่างไร) สิ่งนี้เป็นไปไม่ได้ด้วยไลบรารี regex ของแอปพลิเคชันเหล่านี้หรือไม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.