Лучшее решение, исполняемый файл runfiles работает, но bazel run program
не может динамически загружать библиотеки.
1) Группируйте совместно используемые библиотеки и файлы данных вместе:
filegroup(
name = "libs_and_data",
# This creates *.runfiles/.../path/to/data/files, for runpath
data =glob(["*.so*"]) + glob(["*.xml"]),
)
2) Вручную собирайте и связывайте совместно используемые библиотеки из их исходной папки, 3) Вручную установите путь к каталогу зависимости данных runfiles, который содержит общие библиотеки и файлы данных.
cc_library(
name = "lib",
data = [
# Shared objects are data, not library deps, to avoid _solib in RUNPATH
"//path/to/libs_and_data",
],
linkopts = [
# Explicit build-linking of libraries, because we are avoiding cc_library()
"-lLibrary1",
"-lLibrary2",
"-Lpath/to/libs",
# Point dynamic loader to runfiles location of libraries and datafiles
# Only the *.runfiles executable will successfully load libraries
"-Wl,-rpath='../../../path/to/libs'",
],
deps = [
"//path/to/headers",
],
)
Я не действительно ясен на том, что Вы просите. Я храню свои наиболее часто используемые файлы в регистрах в моем .emacs:
(set-register ?c '(file . "c:/data/common.txt"))
(set-register ?f '(file . "c:/data/frequent.txt"))
Затем я могу перейти в файл с jump-to-register
(C-x r j
):
Например,"C-x r j c
"берет меня к c:/data/common.txt
(загрузка его при необходимости).
Это то, что Вы ищете?
Если Вы хотите псевдоним к функции, Вы используете defalias
:
(defalias 'nuke 'delete-trailing-whitespace)
Но если Вы жалуетесь, что имена функций Emacs являются слишком длинными, необходимо изучить partial-completion-mode
. С включенным,
M-x d-t-w [RET]
будет работать delete-trailing-whitespace
.
У меня есть эта установка ниже. Так, например, если я хочу найти файл на своем рабочем столе (D:/Desktop), я тип F3 j F3, и независимо от того, что соединяет каналом, я запустил с, мини-буфер теперь говорит "D:\Desktop\", и я готов ввести любое имя файла на Рабочем столе. Я установил свой ярлык на j, k, l, я b/c, который это близко к тому, где моя левая рука, но с этой установкой, любой ярлык будут работать до 4 букв. Таким образом, можно добавить запись для "awsome" файла, сказать "страх", и можно ввести страх F3, который F3 вводят для посещения файла. Не знайте, является ли это тем, что Вы ищете; но это сохраняет меня большой ввод ;)
(global-set-key [f3] 'ffap)
;comcplete shortcut in minibuffer
(define-key minibuffer-local-completion-map (kbd "<f3>")
'complete-minibuffer-path)
(defun complete-minibuffer-path ()
"Extension to the complete word facility of the minibuffer by
replacing matching strings to a specific path"
(interactive)
(setq found t)
(cond
; just add new entries if needed; shortcut up to 4 letters will work
((looking-back "j" 5 nil) (setq directory "D:/Desktop/"))
((looking-back "k" 5 nil) (setq directory "D:/Documents/"))
((looking-back "l" 5 nil) (setq directory home-dir))
((looking-back "i" 5 nil) (setq directory "D:/Programs/"))
(t (setq found nil)))
(cond (found (beginning-of-line)
(kill-line)
(insert directory))
(t (minibuffer-complete))))
Я, что Вы хотите, открыт данный файл только с командой, можно определить макрос клавиатуры. Этот макрос открывает файл ~/.bashrc
C-x( # start defining the macro
C-x C-f ~/.bashrc
C-x ) # end definition
Затем можно назвать этот макрос
M-x name-last-kbd-macro
visitbashrc #give it a name
затем можно назвать его по имени M-x visitbashrc
Можно сохранить определение файлу, .emacs, например, путем посещения этого файла и вставки определения в него, с
M-x insert-kbd-macro
Я Переместил это в исходный вопрос, но я оставляю его здесь, потому что люди уже ответили на него
Это - путь лучше, чем, что я имею, но чему я чувствую себя подобно, вероятно, существует, что-то, что заменило бы, например:
(defun nuke ()
"alias delete-trailing-whitespace"
(interactive)
(delete-trailing-whitespace))
и чувствуйте, что меньше hacky, и как он на самом деле делало то, что это, как предполагалось, делало, вместо того, чтобы делать что-то действительно тяжелое для того, что чувствует себя подобно чему-то, что должно быть действительно легко.
Это имеет смысл?
Ваш присваивать регистрам могло бы на самом деле быть лучше, чем, что я ищу, все же.
Эта запись в блоге определяет почти точно то, что я хотел, в основном я нажимаю $
в минибуфер, а затем представляю мне со списком моих закладок, к которым я могу перейти. Я мог бы настроить его так, чтобы, если я укажу закладку файла, я перешел к файлу, а не к каталогу, но это гнида, особенно учитывая, что файл, к которому относится закладка, в любом случае, как правило, находится в верхней части списка.