Pentadactyl: ใช้คำสั่ง url ของแท็บปัจจุบัน


3

ฉันต้องการสร้างการแมปสำหรับส่งอีเมลลิงก์ไปยังหน้าที่แสดงในแท็บปัจจุบัน:

:map ,m :! mail -s "here's a link" email@example.com<cr><current-url><C-d>

ฉันกำลังพยายามหาวิธีแทนที่ด้วย url ของหน้าปัจจุบันที่แสดงในแท็บ

หากคุณคุ้นเคยกับเสียงเรียกเข้ามันจะเทียบเท่ากับ%


ไม่ต้องกังวลกับรายละเอียดของคำสั่ง mail ตัวอย่างเช่น <Cd> อาจใช้งานไม่ได้กับการทำแผนที่ของฉัน ฉันสนใจ แต่เพียงผู้เดียวในการเข้าถึง URL ของแท็บ
Jon Lorusso

คำตอบ:


6

ใช้:executeซึ่งคุณสามารถใช้ Javascript API ได้:

:map ,m :execute '!echo ' + buffer.URL + ' | mail -s "Subject" mail@example.com'

หรือใช้การแมป javascript เช่น:

javascript <<EOF
function MyFoo() {
    alert(buffer.URL.host);
}
EOF
map <Leader>f -js MyFoo();

ดูhttps://github.com/blueyed/dotfiles/blob/master/pentadactylrc#L212เพื่อฟังก์ชั่นที่ซับซ้อนมากขึ้นในการตั้งค่าเครื่องมือแก้ไขตามชื่อโฮสต์


ฉันจะปรับเปลี่ยนสิ่งนี้ได้อย่างไรหากฉันต้องการเปิดหน้าปัจจุบันในเบราว์เซอร์อื่นเช่นโครเมียม ฉันพยายามชัดเจน: execute '! echo' + buffer.URL + '| โครเมียม 'แต่มันไม่ทำงาน
Niels

ทำให้มันทำงานกับ javascript io.run ("chromium", [buffer.URL])
Niels

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