我想为emacs设置Node.js键绑定REPL。我查看了nodejs-repl
,现在我可以打开一个REPL并使用nodejs-send-region
命令来执行代码。
但是我无法弄清楚如何将C-c C-e
绑定到此命令。我认为我必须使用comint-mode
(?)。我试过了:
(require 'nodejs-repl)
;; bind shortcuts when in node mode-line
(eval-after-load 'nodejs-repl
(lambda () (local-set-key (kbd "C-c C-e") #'nodejs-repl-send-region)))
答案 0 :(得分:2)
在加载库之后,您正在绑定当前本地的keymap中的键。加载库最有可能不打开您确实要将键绑定到其键盘映射的模式。至少这是典型的,它对应于GNU Emacs coding conventions,其中说:
简单地加载包不应该改变Emacs的编辑 行为。包含一个或多个命令以启用和禁用 功能,或调用它。
此约定对于包含自定义的任何文件都是必需的 定义。如果修复此类文件以遵循此约定 需要进行不兼容的更改,继续进行并使其不兼容 更改;不要推迟它。
您要做的是使用(require 'nodejs-repl)
(define-key nodejs-repl-mode-map (kbd "C-c C-e") #'nodejs-repl-send-region)
将键绑定到正确的键盘映射中,并且您希望在模式挂钩中执行此操作。
<html>
<head>
<title></title>
<script>
function MyFunction(id) {
var xhttp;
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
if(xhttp.responseText.indexOf("UPDATE WENT OK")!=-1)
document.getElementById(id).nextSibling.innerHTML = "This account is approved";
}
else {
document.getElementById(id).nextSibling.innerHTML = "An error occured while approving this account";
}
}
xhttp.open("GET", "ajax_file.php?id="+id, true);
xhttp.send();
}
</script>
</head>
<body>
<?php
if(!($database = mysql_connect("localhost","root","")) || !(mysql_select_db("st_login",$database)))
print("Could not connect");
else {
$result = mysql_query($database,"SELECT * FROM `login` WHERE `admin` = 0 AND `approval`=0");
if(!$result){
print("Could not execute query");
die (mysql_error());//ose error
}
else{
if(mysql_num_rows($result) == 0) {//esht aprovuar llogaria
//nese esht aprovuar logini i st.
echo "You are approved";
}
else { //approval=0
echo"YOU HAVE NEW REQUESTS WAITING FOR APPROVAL IN YOUR WEBSITE!!!<br/>";
while($query_row=mysql_fetch_assoc($result)){
$firstname=$query_row['firstname'];
$lastname=$query_row['lastname'];
$username=$query_row['username'];
$password=$query_row['password'];
$email=$query_row['email'];
$cv=$query_row['cv'];
echo $firstname.' '.$lastname.' has this cv:'.$cv.'<br /> Do you want to approve his account?';
?><div class="container"><button id="<?php echo $query_row['id'];?>" onclick="MyFunction(this.id)">Yes</button><button>No</button><br />
<p class="demo"></p></div><?php
}
}
}
}
mysql_close($database);
?>
</body>
</html>