আমার দূরবর্তী হোস্টে ~/bin/ecইমাস্ক্লিভের জন্য শর্টহ্যান্ডে আমার পথে একটি ছোট স্ক্রিপ্ট রয়েছে ।
#!/bin/bash
params=()
for p in "$@"; do
if [ "$p" == "-n" ]; then
params+=( "$p" )
elif [ "${p:0:1}" == "+" ]; then
params+=( "$p" )
else
params+=( "/ssh:z:"$(readlink -f $p) )
fi
done
emacsclient --server-file=$HOME/.emacs.d/server/server "${params[@]}"
এই স্ক্রিপ্টটি পাস করা হয় -nএবং +আরোগুলিগুলি ইমালস্ক্লিয়েন্টে অপরিবর্তিত থাকে, অন্যথায় আপনার স্থানীয় ইমাসগুলি খোলার জন্য আরগগুলি ফাইল হিসাবে বিবেচনা করা হয়। প্রতিটি ফাইল ট্রাম্প প্রোটোকল এবং হোস্টের সাথে উপস্থাপিত হয় যাতে ইমাকরা কীভাবে এটি খুলতে পারে তা জানে। আপনি ssh:যদি পছন্দ করেন তবে আপনি আলাদা ট্রাম্প প্রোটোকলে পরিবর্তন করতে সক্ষম হতে পারেন।
আপনাকে অবশ্যই zআপনার দূরবর্তী মেশিনের হোস্টনামের সাথে প্রতিস্থাপন করতে হবে । এটি ট্রাম্পের মাধ্যমে সংযোগ করতে স্থানীয় ইম্যাক্স ব্যবহার করে। (আপনি hostnameএখানে সাধারণতার জন্য ব্যবহার করতে সক্ষম হবেন bre আমি zআমার স্থানীয় অঞ্চলের মতো ssh_configসংক্ষিপ্তসার জন্য ছোট ছোট এন্ট্রি ব্যবহার করতে পছন্দ করি এবং দূরবর্তী কোনও ধারণা রাখেনি যে আমি এটি করছি it এটি চেষ্টা করুন!)
ব্যবহার:
ec file রিমোট শেলের মধ্যে স্থানীয় Emacs এ ফাইল খোলে এবং অপেক্ষা করে
ec -n file রিমোট শেলের মধ্যে স্থানীয় Emacs এবং রিটার্নে ফাইল খোলে
export EDITOR=~/bin/ecদূরবর্তী .bashrcজাদু ঘটায়
আমার serverফাইলটি ভাল তা নিশ্চিত করার জন্য আমার .emacsআবার স্থানীয় ক্ষুদ্র হোস্টনামটি ব্যবহার করে z:
(setq server-use-tcp t
server-port 9999)
(defun server-start-and-copy ()
"Start server and copy server file to remote box."
(interactive)
(server-start)
(copy-file "~/.emacs.d/server/server" "/z:.emacs.d/server/server" t)
(chmod "/z:.emacs.d/server/server" (string-to-number "644" 8))
)
(add-hook 'emacs-startup-hook 'server-start-and-copy)
পোর্ট 9999 একটি রিমোট ফরওয়ার্ড। আমি ~/.ssh/ssh_configফরোয়ার্ডিং স্বয়ংক্রিয় করতে গতিতে এটির জন্য কন্ট্রোলমাস্টার স্টাফগুলিকে আমার লোকালয়ে রেখেছি ।
Host z
HostName dev.example.com
User dev
ControlMaster auto
ControlPath ~/.ssh/z.sock
RemoteForward 9999 localhost:9999
অবশেষে, নিশ্চিত হয়ে নিন যে ট্রাম্প ssh_configযদি এটি ব্যবহার করে তবে আপনার সম্পর্কে :
(require 'tramp)
(tramp-set-completion-function "ssh"
'((tramp-parse-sconfig "~/.ssh/config")))
with-editorগ্রন্থাগারটি প্রশ্নের সাথে কীভাবে সম্পর্কিত তা আপনি ব্যাখ্যা করতে পারেন? দরকারী মনে হচ্ছে