ความช้าในการจับคู่วงเล็บปีกกาด้วยไวยากรณ์ PHP เริ่มต้น


8

ฉันกำลังพบกับความเชื่องช้าที่เห็นได้ชัดในคุณสมบัติการจับคู่วงเล็บปีกกาและ -highlighting เมื่อเคอร์เซอร์วางอยู่เหนือวงเล็บหรือวงเล็บเหลี่ยมจะมีความล่าช้าประมาณ 300ms ในการตอบสนองของคอนโซล ตามที่ระบุไว้สิ่งนี้ดูเหมือนจะเกิดขึ้นเมื่อทำงานกับไฟล์ PHP เท่านั้น ฉันกำลังใช้ Vim 7.2 บน Debian Squeeze ด้วยไฟล์. vimrc:

  1 set autoindent
  2 set smarttab
  3 set ruler
  4 set expandtab
  5 set termencoding=utf-8
  6 set fileformat=unix
  7 set number
  8 set tabstop=4
  9 set encoding=utf-8
 10 set shiftwidth=4
 11 set noswapfile
 12 set backspace=indent,eol,start
 13 set shortmess=lrwxI
 14 set history=50
 15 set background=dark
 16
 17 let php_folding=2
 18 let php_asp_tags=0
 19
 20 colorscheme desert

มีวิธีใดที่จะบรรเทาความล่าช้านี้หรือไม่?

คำตอบ:


2

ฉันไม่เห็นสิ่งนี้ในพื้นที่ การจับคู่ parens จะถูกเน้นในทันที ลองสิ่งนี้:

:set filetype=txt

... และดูว่าสิ่งต่าง ๆ ดีขึ้นหรือไม่ ถ้าเป็นเช่นนั้นบางสิ่งในการกำหนดค่าการจัดการ PHP ของกลุ่มอาจจะไม่ได้ผล คุณเห็นพฤติกรรมแบบเดียวกันในไฟล์ PHP ขนาดเล็กมากหรือไม่ ฉันใช้ 7.2 บน Ubuntu และไม่เห็นสิ่งที่คุณเห็น

หวังว่านี่จะช่วยได้!
-Paul

อัปเดต: ขอบคุณสำหรับการอัปเดตคำถามของคุณเพื่อรวม. vimrc ของคุณ - สิ่งนี้นำไปสู่สิ่งอื่นเพื่อให้คุณทดสอบ โปรดดูว่าสิ่งนี้ไม่ได้ช่วยสถานการณ์หรือไม่ - เปลี่ยน php_folding เป็น 1 แทนที่จะเป็น 2 2 พับพื้นที่ทั้งหมด {} ทั้งหมดดังนั้นนี่อาจเป็นการโต้ตอบกับตรรกะการจับคู่แบบ Parens และทำให้เกิดความล่าช้า


นอกจากนี้คุณยังพูดว่า "บนการตอบสนองของคอนโซล" - คุณกำลังเรียกใช้ vim ในเทอร์มินัลอีมูเลเตอร์หรือบนคอนโซลเสมือน (เช่น ctrl-alt-F1) หรือไม่?
pbr

7

พิมพ์สิ่งนี้เพื่อปิดต่อแต่ละอินสแตนซ์:

:NoMatchParen

(การใช้อักษรตัวพิมพ์ใหญ่เป็นสิ่งสำคัญ)

เพิ่มสิ่งนี้ใน ~ / .vimrc ของคุณเพื่อปิดการใช้งานก่อนที่โมดูลจะโหลด:

let loaded_matchparen = 1

คุณต้องการเพียงหนึ่ง ด้วยครั้งแรกคุณต้องพิมพ์ทุกครั้งที่คุณเปิดไฟล์ PHP แต่คุณสามารถเปิดใหม่ได้ตลอดเวลา ด้วยวินาทีมันปิดเสมอ แต่คุณไม่สามารถเปิดได้อีกครั้ง

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