আমার দূরবর্তী হোস্টে ~/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
গ্রন্থাগারটি প্রশ্নের সাথে কীভাবে সম্পর্কিত তা আপনি ব্যাখ্যা করতে পারেন? দরকারী মনে হচ্ছে